Home » U++ TheIDE » U++ TheIDE: Other Features Wishlist and/or Bugs » GDB_MI2 debugger fixes
GDB_MI2 debugger fixes [message #41932] |
Fri, 07 February 2014 14:59 |
mdelfede
Messages: 1308 Registered: September 2007
|
Ultimate Contributor |
|
|
I made many improvements on debugger; now it should run smoothly and consume much fewer cpu.
Please test it deeply and tell me if you've got any problems.
Ciao
Massimo
|
|
|
Re: GDB_MI2 debugger fixes [message #41933 is a reply to message #41932] |
Fri, 07 February 2014 15:38 |
|
Klugier
Messages: 1082 Registered: September 2012 Location: Poland, Kraków
|
Senior Contributor |
|
|
Hello Massimo,
It seems that now IDE has got big lag when it is in GDB_MI2 mode.
How to reproduce?
1. Start debugging in GDB_MI2 mode.
2. Click on any ide element. (It takes a lot of time to activate any of the ide elements such as CodeEditor etc.. It seems that lag time is around one second). So, editing some code in debug mode is difficult.
P.S.
Now, Locals & Watches tabs don't lock ide.
Sincerely,
klugier
U++ - one framework to rule them all.
[Updated on: Fri, 07 February 2014 15:46] Report message to a moderator
|
|
|
|
|
|
|
|
|
|
Re: GDB_MI2 debugger fixes [message #41952 is a reply to message #41951] |
Sat, 08 February 2014 14:24 |
mdelfede
Messages: 1308 Registered: September 2007
|
Ultimate Contributor |
|
|
Panels are loaded after 500 ms after debugger goes idle, to allow to step with fast speed without unneeded delay.
Anyways, if you step fast you don't have time to read panels and, after you stop stepping I guess that half a second delay for update is more than acceptable.....
Switching panes should have no lag at all.... which kind of lag do you have ?
[Updated on: Sat, 08 February 2014 14:25] Report message to a moderator
|
|
|
|
Re: GDB_MI2 debugger fixes [message #41954 is a reply to message #41953] |
Sat, 08 February 2014 16:48 |
mdelfede
Messages: 1308 Registered: September 2007
|
Ultimate Contributor |
|
|
klugier wrote on Sat, 08 February 2014 15:16 | Hello Massimo,
Before your updates it loaded super fast. Moreover on Windows with pdb, panels are loding a lot of faster.
|
I don't notice any delay in loading, besides the foreseen 500 ms delay on loading data in explore panes (locals, autos, etc..),
which is needed to have fast stepping.
Quote: |
On my computer switching between panes takes exactly 3(+-1) seconds even if debugging is finished.
|
On my computer the delay is zero, when switching panes.... are you sure you've got last svn update ?
And I've no artifact at all.
I'm on Ubuntu 13.10, gcc 4.8.1 too, and I guess same GDB as yours.
The only difference is that my IDE is compiled WITHOUT Mt.
|
|
|
Re: GDB_MI2 debugger fixes [message #41960 is a reply to message #41954] |
Sat, 08 February 2014 21:04 |
|
Klugier
Messages: 1082 Registered: September 2012 Location: Poland, Kraków
|
Senior Contributor |
|
|
Hello Massimo,
Quote: |
On my computer the delay is zero, when switching panes.... are you sure you've got last svn update ?
|
I compiled upp on without gadgets like "X11 MT SSE2". I also removed all previous compilation objects files. Still not luck. Delay is felt.
I updated ide source files with following command:
svn checkout http://upp-mirror.googlecode.com/svn/trunk/uppsrc/ide
If you want to make additional check I enclose my GDB2_MI2.cpp file.
----------------------------------------
Edit:
Please see 515 line(GDB_MI2.cpp):
After commenting this line switching between panes back to normal state, but ide crashes. Personally, I think that something must be wrong in Gdb_MI2::ReadGdb(bool wait) method.
Sincerely,
Klugier
-
Attachment: Gdb_MI2.cpp
(Size: 42.89KB, Downloaded 291 times)
U++ - one framework to rule them all.
[Updated on: Sat, 08 February 2014 21:19] Report message to a moderator
|
|
|
Re: GDB_MI2 debugger fixes [message #41961 is a reply to message #41960] |
Sat, 08 February 2014 21:47 |
|
Klugier
Messages: 1082 Registered: September 2012 Location: Poland, Kraków
|
Senior Contributor |
|
|
Hello Massimo,
It seems that changing retries initial value from "ReadGdb" method to previous value did the trick. (Gdb_MI2.cpp - line 508):
insted of
It seems that I have got the latest Ultimate++ version. MT mode does not cause this issue also. Max 3 seconds (3 * 50 * 20) waiting time is explicitly written to the code.
Sincerely,
Klugier
U++ - one framework to rule them all.
[Updated on: Sat, 08 February 2014 21:57] Report message to a moderator
|
|
|
Re: GDB_MI2 debugger fixes [message #41963 is a reply to message #41961] |
Sun, 09 February 2014 01:37 |
mdelfede
Messages: 1308 Registered: September 2007
|
Ultimate Contributor |
|
|
Hi,
ReadGdb blocks, in blocking path, for exactly 3 seconds, so
3*50*20 ms
Which is right, imho, for the 'almosto blocking' path.
This has nothing to do with panes delay.
It's just a way to wait for gdb to answer to a command... normally it responds in less than 20 ms, 3 seconds is a maximum as when gdb returns python exceptions usually it needs almost 1 second to recover.
Again, this has nothing to do with delay in panes switching, which is totally unrelated with gdb communication.
I think you've got some problem with your gdb... but I can't replicate it.
Just to explain you the path:
1) When I send a command to gdb, I wait for response, which is completed when I receive a '(gdb)' string at end.
To be sure to get the response, I put a limit of 3 seconds on it, but as I said, normally it answers in 20 ms or less.
2) Switching panes is totally unrelated, as panes works on cached data, so do not need to issue additional gdb commands.
3) Panes updating happens 500 ms AFTER last gdb command.
So, if you step quickly, panes do not update before you stop stepping.
If you like, you can send me your compiled ide, so I can test it.
Send to this address : maxx5@veneto.com
ciao
Massimo
[Updated on: Sun, 09 February 2014 01:37] Report message to a moderator
|
|
|
Re: GDB_MI2 debugger fixes [message #41973 is a reply to message #41963] |
Sun, 09 February 2014 13:32 |
|
Klugier
Messages: 1082 Registered: September 2012 Location: Poland, Kraków
|
Senior Contributor |
|
|
Hello Massimo,
I have sent you my ide.
I compiled pure version from Ultimate++ website. It seems that looding time is now OK, but switching between panes while debugging is still slow. When you finished debugging it works at normal speed.
But there is one more big issue. IDE does not automatically close debugg widgets when debugging process is over. In previous builds it worked properly.
Sincerely,
Klugier
U++ - one framework to rule them all.
[Updated on: Sun, 09 February 2014 13:33] Report message to a moderator
|
|
|
|
Re: GDB_MI2 debugger fixes [message #41981 is a reply to message #41976] |
Sun, 09 February 2014 16:20 |
|
Klugier
Messages: 1082 Registered: September 2012 Location: Poland, Kraków
|
Senior Contributor |
|
|
Hello Massimo,
Quote: |
Are you SURE that you're running THIS build and not another, installed one on your system ???
|
It seems that gtk backend on KDE cause this issue. When I switch to X11 debug mode closes correctly.
So this is definitly not Gdb_MI2 issue.
Quote: |
I've just tested your build, but here it works perfectly.
No lags switching panes (I don't know what do you mean with "while debugging", panes are not there when debugger is not running....) and on application exit the debugger terminates correctly.
|
How to reproduce?
1. Start debugging.
2. Back to IDE.
3. Try to switch between following panes: Autos, Locals, Watches and Explorer. (Debug mode)
4. Now, you can stop debugging.
Sincerely,
Klugier
U++ - one framework to rule them all.
[Updated on: Sun, 09 February 2014 16:20] Report message to a moderator
|
|
|
|
|
Goto Forum:
Current Time: Fri Sep 20 06:25:07 CEST 2024
Total time taken to generate the page: 0.03607 seconds
|