Author Topic: The 04 september 2010 build (6570) DEBUGGER BRANCH version is out.  (Read 10318 times)

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5490
The 04 september 2010 build (6570) DEBUGGER BRANCH version is out.
« on: September 04, 2010, 10:59:42 pm »
Get quick announcements through the RSS feed http://www.codeblocks.org/nightly/CodeBlock_RSS.xml

Before you use a nightly make sure you understand how it works.

A link to the unicode windows wxWidget dll for Code::Blocks : http://prdownload.berlios.de/codeblocks/wxmsw28u_gcc_cb_wx2810_gcc441.7z

For those who might need this one (when no MingW installed on your system) : the mingw10m.dll : http://prdownload.berlios.de/codeblocks/mingwm10_gcc441.7z

The 04 September 2010 build is out.
  - Windows :
   http://prdownload.berlios.de/codeblocks/CB_20100904_rev6570_DEBUGGER_BRANCH_win32.7z
  - Linux :
   none

Important changes compared to previous DEBUGGER BRANCH nighlty:

* applied patch 16.3.1 with the following features:
1. Added s_pWin = NULL in GdbCmd_TooltipEvaluation::ParseOutput
2. Added the check if the terminal opening has finished in a loop. The terminal should open faster. Also it should be detected correctly if it is started on a slower computer.
3. Fixed parsing of std::string = "test,test" in the watches window
4. Fixed "Catch exception" on windows
5. Fixed some "Do not run debuggee bugs"
5.1. "tbreak" command was emitted, when the debug/continue button was hit
5.2. "run" command was emitted, when in remote debugging mode, now emits the correct "cont"
5.3. "start" command was emitted, now the correct "run" is emitted

Note: Watch parsing prints an error message in the watches window if the parsing fails. If you see this string please report it as a bug.

THIS IS A SPECIAL TEST BUILD OF REFACTORINGS CARRIED OUT ON THE DEBUGGER BRANCH IN OUR SVN.
FOCUS IS ON ENHANCED DEBUGGING USABILITY.

Give your feedback on this version only in this thread, don't mix it with the regular nightly please.

Once we don't have any blockers on this version,we will merge the changes into trunk and it will be part of the regular nightlies.

Max

  • Guest
Re: The 04 september 2010 build (6570) DEBUGGER BRANCH version is out.
« Reply #1 on: September 10, 2010, 12:18:48 am »
Dear devs,

I'm testing this new nigthly (debugger branch 6570). I reported (in the thread related to the previous nightly for the debbugger branch) a possible bug when dbg is catching an exception.

Basically I discussed the behavior of the dbg interface, implemented in CB, when an exception is thrown. The previous nightly wasn't printing any informatin in the debugger panel.

The present nightly is improved and (at least for me) now is good enough, a message is appearing in the debugger panel (and a small window from the application bar) when an excpetion is thrown.

The call stack is showing the file and the line in which the exception was thrown. But in the debugger panel the message is (setting a breakpoint at throwSomething(); and then "next line")



Debugger name and version: GNU gdb (GDB) 7.1
Child process PID: 3456
At C:\Development\Projects\testException\main.cpp:13
Unknown file:
In __cxa_throw () ()


Well the file should be known! The debug log is

> cont
Catchpoint 1 (exception thrown), 0x00401610 in __cxa_throw ()
>>>>>>cb_gdb:

You can use the following test case to replicate the issue.

Code

#include <iostream>
#include <stdexcept>

void throwSomething(void);

using namespace std;

int main()
{
    try
     {
       throwSomething();
     }

     catch(std::runtime_error& except)
     {
       cout << "Hello Exceptions " << except.what() << endl;
     }

    cout << "This is the end" << endl;

    return 0;
}

void throwSomething(void)
{
  throw std::runtime_error("The Exception");
}



Hope this helps

Max

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: The 04 september 2010 build (6570) DEBUGGER BRANCH version is out.
« Reply #2 on: September 10, 2010, 12:42:03 am »
What is the real problem, you don't see the yellow triangle for the current position?

Note1: as far as I know this feature is implemented as breakpoint ( at the function __cxa_throw() ) in gdb.
Note2: there is a setting in the debugger's options -> "when stopping, auto-switch to first frame with valid source info", if you want to see the yellow marker this option should be on!

If the problem you're experiencing is something else please explain better what it is.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Max

  • Guest
Re: The 04 september 2010 build (6570) DEBUGGER BRANCH version is out.
« Reply #3 on: September 11, 2010, 11:18:25 am »


If the problem you're experiencing is something else please explain better what it is.


Using the test case attached in my previous message compile it (I'm using -O0 -gstabs+ and GDB 7.1, MINGW with GCC 4.5.0 and latest packages). Set a breakpoint in the line where the call
throwSomething(); is present. BE SURE to have the call stack debugging window disabled (not shown).

A) Run the debugger and when it stops at the breakpoints send a "next line"

Effects:
1) A small yellow window appears from the application bar (WINDOWS) telling "unknown file"
2) the message

Debugger name and version: GNU gdb (GDB) 7.1
Child process PID: 1108
At C:/Development/Projects/test/main.cpp:12
Unknown file:
In __cxa_throw () ()

appears on debug panel

3) there is no yellow triangle and the debugger is not jumping to the line where the exception was thrown
 

B) stops the debug session and repeat the test but, this time, BE SURE that the call stack debugging window is shown (docked). Start the debugger and at the breakpoint send a "next line". Now you get

1) A small yellow window appears from the application bar (WINDOWS) telling "unknown file". The same as before.

2) On debugger panel you get

Debugger name and version: GNU gdb (GDB) 7.1
Child process PID: 2668
At C:/Development/Projects/test/main.cpp:12
Unknown file:
In __cxa_throw () ()
At C:/Development/Projects/test/main.cpp:27

So the "unknown file" is still present but a new line appears after the __cxa_throw(). Is the line where the exception was thrown.

3) The debuuger jumps to the line main.cpp:27 and a small triangle at that line is shown.



So in the end with the call stack window it works, without the call stack window it doesn't work. Quite strange (to me  :)). Is that the correct behavior? Why in any case a red line with "unknow file" appears?
What is unknown? (don't say the file name :) )

In the end I use the call stack window, it deserves to stay always open  :)
 
Note2: there is a setting in the debugger's options -> "when stopping, auto-switch to first frame with valid source info", if you want to see the yellow marker this option should be on!

Yes I know  :) , it is on!

Hope this helps

Max

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: The 04 september 2010 build (6570) DEBUGGER BRANCH version is out.
« Reply #4 on: September 11, 2010, 02:49:18 pm »
Confirmed...
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]