View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0017909||Lazarus||Debugger||public||2010-11-11 23:22||2010-12-12 21:45|
|Reporter||Eugen Bolz||Assigned To||Martin Friebe|
|Platform||64 Bit Intel||OS||Mac OS X||OS Version|
|Product Version||0.9.29 (SVN)||Product Build|
|Target Version||0.9.30||Fixed in Version||0.9.29 (SVN)|
|Summary||0017909: GDB Exception Message don't shows up|
|Description||Its kinda hard to explain ...|
If I raise this exception during debugging: raise EConvertError.Create('test');
Nothing is send to IDE (or something like that).
|Steps To Reproduce||Start the Demo, the Exception is raised on FormCreate .... and no MessageBox comes up :(|
|Tags||No tags attached.|
|Fixed in Revision||28640|
Test_Exception_Mac.zip (306,335 bytes)
Confirmed on lazarus version 0.9.29 SVN revision 28293 with fpc version 2.4.0 i386-darwin-carbon, Mac OS X Intel 10.6.4
Whenever an exception is thrown, the program keeps running (cannot be stopped, the only thing that works is killall lazarus which also kills the IDE), but NO message or popup is being displayed in the IDE.
Try/Except fails miserably also. There is no workaround I guess.
Marc's opinion "It is not the exception which is the problem, but the retrieval of info about it (what lazarus needs to show you a message). On other systems the used cast works."
More info here http://www.lazarus.freepascal.org/index.php/topic,9102.15.html
sorry, i can't help. fpc.cfg has no influence. It is not the exception which is the problem, but the retrieval of info about it (what lazarus needs to show you a message). On other systems the used cast works. I've only a old mac-mini powerpc, so I cannot test/fix this atm.
Hmm I thought it would be working NOW, but it seems it still needs to be fixed :(, sorry
Still hungs up
Resolved, as reporter declared it as fixed.
Could have been rev 28168 there was a StrToIntDef (32bit) instead of StToQWordDef (64bit) in setting up the catching of exceptions (InsertBreakPoint in StartDebugging)
please recompile with the following defines
and attach a debug log
mylog.txt.zip (464,394 bytes)
Please compile revision 28495 with -dDBG_WITH_TIMEOUT
I added a timeout to the particular command that caused the trouble.
- It should hopefully give you a warning, if it times out.
- The information shown about the exception, may then be incomplete (but hopefully some msg will appear)
- Debugging should continue, but no guarantees can be made about how long it will last.
||The Debugger just crashes, nothing else happens :(|
As of rev 28505 the workaround with -dDBG_WITH_TIMEOUT works
- A warning is given to the user, but the debug-session can be continued.
- The Exception is announced, but the name is unknown
||OK it works much better with this workaround, is there an gdb version that works fully in OSX ?|
As for not getting the exception classname:
The issue seems to be caused by debugging an app compiled for 32 bit, in a gdb configured for 64 bit. While gdb seems to actually support this, the IDE does not realize that the app is 32 bit, and makes wrong assumptions.
As for the IDE hanging:
The missing prompt (which caused the hang of the IDE) is still an GDB issue. but most likely due to the attempt to use data from a register ($rdi) which is not initialized. So we try to access some bad address. GDB should return an error.
The issue will most likely not be present, if the IDE does detect the 32 bit app correctly. The danger does however remain.
Should be fixed.
Please close if ok.
|2010-11-11 23:22||Eugen Bolz||New Issue|
|2010-11-11 23:22||Eugen Bolz||Status||new => assigned|
|2010-11-11 23:22||Eugen Bolz||Assigned To||=> Marc Weustink|
|2010-11-11 23:22||Eugen Bolz||File Added: Test_Exception_Mac.zip|
|2010-11-11 23:22||Eugen Bolz||Widgetset||=> Carbon|
|2010-11-17 16:40||descent89||Note Added: 0043145|
|2010-11-17 16:43||descent89||Note Edited: 0043145|
|2010-11-18 21:36||Martin Friebe||Assigned To||Marc Weustink => Martin Friebe|
|2010-11-18 21:40||Eugen Bolz||Note Added: 0043203|
|2010-11-18 21:41||Martin Friebe||LazTarget||=> -|
|2010-11-18 21:41||Martin Friebe||Status||assigned => resolved|
|2010-11-18 21:41||Martin Friebe||Fixed in Version||=> 0.9.29 (SVN)|
|2010-11-18 21:41||Martin Friebe||Resolution||open => fixed|
|2010-11-18 21:41||Martin Friebe||Note Added: 0043204|
|2010-11-18 21:41||Martin Friebe||Target Version||=> 0.9.30|
|2010-11-18 21:42||Martin Friebe||Status||resolved => assigned|
|2010-11-18 21:42||Martin Friebe||Resolution||fixed => reopened|
|2010-11-18 21:42||Martin Friebe||Note Added: 0043205|
|2010-11-18 21:43||Martin Friebe||Note Added: 0043206|
|2010-11-18 22:21||Eugen Bolz||File Added: mylog.txt.zip|
|2010-11-26 01:35||Martin Friebe||Relationship added||related to 0001306|
|2010-11-26 08:26||Vincent Snijders||Fixed in Version||0.9.29 (SVN) =>|
|2010-11-26 08:26||Vincent Snijders||Target Version||0.9.30 =>|
|2010-11-26 11:24||Martin Friebe||Note Added: 0043546|
|2010-11-26 11:25||Martin Friebe||Note Edited: 0043546|
|2010-11-26 11:25||Martin Friebe||Note Edited: 0043546|
|2010-11-26 19:06||Eugen Bolz||Note Added: 0043584|
|2010-11-27 01:06||Martin Friebe||Note Added: 0043589|
|2010-12-04 19:33||Martin Friebe||Relationship added||has duplicate 0018150|
|2010-12-04 19:43||Christian||Note Added: 0043987|
|2010-12-04 23:36||Martin Friebe||Note Added: 0043998|
|2010-12-07 16:59||Martin Friebe||Fixed in Revision||=> 28640|
|2010-12-07 16:59||Martin Friebe||LazTarget||- => 1.0|
|2010-12-07 16:59||Martin Friebe||Status||assigned => resolved|
|2010-12-07 16:59||Martin Friebe||Fixed in Version||=> 0.9.29 (SVN)|
|2010-12-07 16:59||Martin Friebe||Resolution||reopened => fixed|
|2010-12-07 16:59||Martin Friebe||Note Added: 0044062|
|2010-12-07 16:59||Martin Friebe||Target Version||=> 0.9.30|
|2010-12-12 21:45||Eugen Bolz||Status||resolved => closed|