From: mathog <ma...@ca...> - 2012-02-01 21:05:13
|
Hi, I am trying to debug inkscape (C++) in mingw. Was unable to set any breakpoints (either by file:line or function). Possibly something about the way the application was put together with btool. As an alternative, it would be OK to be able to insert a line of code that throws control back to gdb so that a backtrace may be performed. No luck with that so far either. Tried: throw "this is an error"; and inkscape saw it, shrugged it off, and never returned control to gdb. Can somebody please provide a line of C++ code that will always throw an exception that the application cannot catch, so that it goes back to the debugger? Thank you, David Mathog ma...@ca... Manager, Sequence Analysis Facility, Biology Division, Caltech |
From: K. F. <kfr...@gm...> - 2012-02-02 13:57:18
|
Hello David! On Wed, Feb 1, 2012 at 3:48 PM, mathog <ma...@ca...> wrote: > Hi, > > I am trying to debug inkscape (C++) in mingw. > > Was unable to set any breakpoints (either by file:line or function). > Possibly something about the way the application > was put together with btool. > > As an alternative, it would be OK to be able to insert a line of code > that throws control back to gdb > so that a backtrace may be performed. No luck with that so far either. > Tried: > > throw "this is an error"; > > and inkscape saw it, shrugged it off, and never returned control to > gdb. When you tried to use an exception as a breakpoint, did you explicitly tell gdb to trap exceptions? I have successfully used gdb to trap exceptions, but to do so, I need to issue the gdb command: catch throw (Of course, gdb might implement this by inserting its usual breakpoint code somewhere in the exception handler, so if regular breakpoints aren't working, maybe this gets screwed up too...) > Can somebody please provide a line of C++ code that will always throw > an exception that the application > cannot catch, so that it goes back to the debugger? When I've used "catch throw," gdb breaks on thrown exceptions, whether or not they would have been caught by the application (i.e., by a catch block). > Thank you, > > David Mathog > ma...@ca... > Manager, Sequence Analysis Facility, Biology Division, Caltech Good luck. K. Frank |
From: mathog <ma...@ca...> - 2012-02-02 22:37:52
|
On 02-Feb-2012 05:57, K. Frank wrote: > When you tried to use an exception as a breakpoint, did you > explicitly > tell gdb to trap exceptions? > > I have successfully used gdb to trap exceptions, but to do so, I need > to issue the gdb command: > > catch throw That worked. Thanks! David Mathog ma...@ca... Manager, Sequence Analysis Facility, Biology Division, Caltech |