Re: [Lazarus] TGDBMIDebuggerInstruction: -file-exec-and-symbols ,
On Wed, Apr 23, 2014 at 3:57 PM, Martin Frb laza...@mfriebe.de wrote: On 23/04/2014 19:29, Marcos Douglas wrote: On Fri, Apr 18, 2014 at 8:04 PM, Martin Frb laza...@mfriebe.de wrote: On 18/04/2014 23:48, Martin Frb wrote: On 18/04/2014 17:09, Marcos Douglas wrote: On Thu, Apr 17, 2014 at 11:40 AM, Martin Frb laza...@mfriebe.de wrote: http://wiki.lazarus.freepascal.org/GDB_Debugger_Tips#gdb.exe_has_stopped_working in the field debugger_startup_options enter: --eval-command=set auto-solib-add off But I have no idea if that is going to change anything. This worked, thank you! Since this fixes a variety of gdb issues, I added an option DisableLoadSymbolsForLibraries True/False. This is in trunk, and 1.2.3 (will be is 1.2.4) BTW completely forgot, there also is WarnOnInternalError Default true. If set to False, internal errors by gdb will be ignored by the IDE. Yet that does not change, that gdb did have an internal error, and that debugging may report incorrect data, or dis-behave in anyway. Neither will it prevent follow up error. It simple skips informing the user, yet fixes nothing. Leave on true, unless you get repeatedly the same internal error, and have tested well, that it does not affect you. (Then the warning dialog would be annoying, and you may want to skip it) Which together with Reset debugger after each run would have done as well. But would have the side effect of hiding potential other warnings, leaving you unaware of problems. For me Reset debugger after each run is enough. But what are the disadvantages to use this option? Sorry my late, I was traveling. Starting the debugger my take a bit longer (may be less than a second, may be 2 or 3 secs). Well, the first time, you debug, all is the same. No change. But normally the IDE keeps using the running gdb, so it does not need to start a new instance of gdb. (Also saves sending a few initialization commands.) Reset debugger simply means, to close gdb, and start a new GDB. (Also create a new instance of the controller class in the IDE, but that is minor). Well, if the price to not have troubles is 1~3 secs, I prefer to pay. ;-) Thanks, Marcos Douglas -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] TGDBMIDebuggerInstruction: -file-exec-and-symbols ,
On Fri, Apr 18, 2014 at 8:04 PM, Martin Frb laza...@mfriebe.de wrote: On 18/04/2014 23:48, Martin Frb wrote: On 18/04/2014 17:09, Marcos Douglas wrote: On Thu, Apr 17, 2014 at 11:40 AM, Martin Frb laza...@mfriebe.de wrote: http://wiki.lazarus.freepascal.org/GDB_Debugger_Tips#gdb.exe_has_stopped_working in the field debugger_startup_options enter: --eval-command=set auto-solib-add off But I have no idea if that is going to change anything. This worked, thank you! Since this fixes a variety of gdb issues, I added an option DisableLoadSymbolsForLibraries True/False. This is in trunk, and 1.2.3 (will be is 1.2.4) BTW completely forgot, there also is WarnOnInternalError Default true. If set to False, internal errors by gdb will be ignored by the IDE. Yet that does not change, that gdb did have an internal error, and that debugging may report incorrect data, or dis-behave in anyway. Neither will it prevent follow up error. It simple skips informing the user, yet fixes nothing. Leave on true, unless you get repeatedly the same internal error, and have tested well, that it does not affect you. (Then the warning dialog would be annoying, and you may want to skip it) Which together with Reset debugger after each run would have done as well. But would have the side effect of hiding potential other warnings, leaving you unaware of problems. For me Reset debugger after each run is enough. But what are the disadvantages to use this option? Sorry my late, I was traveling. Regards, Marcos Douglas -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] TGDBMIDebuggerInstruction: -file-exec-and-symbols ,
On 23/04/2014 19:29, Marcos Douglas wrote: On Fri, Apr 18, 2014 at 8:04 PM, Martin Frb laza...@mfriebe.de wrote: On 18/04/2014 23:48, Martin Frb wrote: On 18/04/2014 17:09, Marcos Douglas wrote: On Thu, Apr 17, 2014 at 11:40 AM, Martin Frb laza...@mfriebe.de wrote: http://wiki.lazarus.freepascal.org/GDB_Debugger_Tips#gdb.exe_has_stopped_working in the field debugger_startup_options enter: --eval-command=set auto-solib-add off But I have no idea if that is going to change anything. This worked, thank you! Since this fixes a variety of gdb issues, I added an option DisableLoadSymbolsForLibraries True/False. This is in trunk, and 1.2.3 (will be is 1.2.4) BTW completely forgot, there also is WarnOnInternalError Default true. If set to False, internal errors by gdb will be ignored by the IDE. Yet that does not change, that gdb did have an internal error, and that debugging may report incorrect data, or dis-behave in anyway. Neither will it prevent follow up error. It simple skips informing the user, yet fixes nothing. Leave on true, unless you get repeatedly the same internal error, and have tested well, that it does not affect you. (Then the warning dialog would be annoying, and you may want to skip it) Which together with Reset debugger after each run would have done as well. But would have the side effect of hiding potential other warnings, leaving you unaware of problems. For me Reset debugger after each run is enough. But what are the disadvantages to use this option? Sorry my late, I was traveling. Starting the debugger my take a bit longer (may be less than a second, may be 2 or 3 secs). Well, the first time, you debug, all is the same. No change. But normally the IDE keeps using the running gdb, so it does not need to start a new instance of gdb. (Also saves sending a few initialization commands.) Reset debugger simply means, to close gdb, and start a new GDB. (Also create a new instance of the controller class in the IDE, but that is minor). -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] TGDBMIDebuggerInstruction: -file-exec-and-symbols ,
On Thu, Apr 17, 2014 at 11:40 AM, Martin Frb laza...@mfriebe.de wrote: On 17/04/2014 04:46, Marcos Douglas wrote: Hi, I'm using FPC 2.6.5 (fixes_2_6) and Lazarus trunk on Windows. The GDB is updated too, here: http://svn.freepascal.org/svn/lazarus/binaries/i386-win32/gdb I run my program using the IDE and when program closes the IDE returns the error below... and doesn't matter if I run on Debug mode or not. ERROR: While executing the command: TGDBMIDebuggerInstruction: -file-exec-and-symbols , gdb reported: ../../gdb-7.2/gdb/printcmd.c:1916: internal-error: clear_dangling_display_expressions: Assertion `objfile-pspace == solib-pspace' failed.\nA problem internal to GDB has been detected,\nfurther debugging may prove unreliable. Could you help me? Looks like a bug in gdb to me. Could be anything. It may be fixed in later versions of gdb. (7.7 is current) But for 32bit windows 7.2 is still considered the best choice. (this is due to http://sourceware.org/bugzilla/show_bug.cgi?id=14018 / happens often after fileopen/close dialog) I have not yet tested 7.7 with the IDE, but if you accept the above bug, 7.6 was tested with the IDE and the IDE deals with it. (And 7.7 is probably compatible too). Yet 7.5.9 to 7.6.1 were terrible unstable. (7.7 not tested). 7.5.1 was fine, except for the above. Since the above error only happens after the debug session, it will only affect the next session. And it adds the clicks to confirm the error. As for the next debug session, there is a checkbox in the options Reset debugger after each run My program uses a COM dll... maybe this is the problem? The only other thing I can thing off, and this is just a guess: The error points to something with dll (solib). Sometimies gdb has issues with debug info it finds on dll. try http://wiki.lazarus.freepascal.org/GDB_Debugger_Tips#gdb.exe_has_stopped_working in the field debugger_startup_options enter: --eval-command=set auto-solib-add off But I have no idea if that is going to change anything. This worked, thank you! Best regards, Marcos Douglas -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] TGDBMIDebuggerInstruction: -file-exec-and-symbols ,
On 18/04/2014 17:09, Marcos Douglas wrote: On Thu, Apr 17, 2014 at 11:40 AM, Martin Frb laza...@mfriebe.de wrote: http://wiki.lazarus.freepascal.org/GDB_Debugger_Tips#gdb.exe_has_stopped_working in the field debugger_startup_options enter: --eval-command=set auto-solib-add off But I have no idea if that is going to change anything. This worked, thank you! Since this fixes a variety of gdb issues, I added an option DisableLoadSymbolsForLibraries True/False. This is in trunk, and 1.2.3 (will be is 1.2.4) -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] TGDBMIDebuggerInstruction: -file-exec-and-symbols ,
On 18/04/2014 23:48, Martin Frb wrote: On 18/04/2014 17:09, Marcos Douglas wrote: On Thu, Apr 17, 2014 at 11:40 AM, Martin Frb laza...@mfriebe.de wrote: http://wiki.lazarus.freepascal.org/GDB_Debugger_Tips#gdb.exe_has_stopped_working in the field debugger_startup_options enter: --eval-command=set auto-solib-add off But I have no idea if that is going to change anything. This worked, thank you! Since this fixes a variety of gdb issues, I added an option DisableLoadSymbolsForLibraries True/False. This is in trunk, and 1.2.3 (will be is 1.2.4) BTW completely forgot, there also is WarnOnInternalError Default true. If set to False, internal errors by gdb will be ignored by the IDE. Yet that does not change, that gdb did have an internal error, and that debugging may report incorrect data, or dis-behave in anyway. Neither will it prevent follow up error. It simple skips informing the user, yet fixes nothing. Leave on true, unless you get repeatedly the same internal error, and have tested well, that it does not affect you. (Then the warning dialog would be annoying, and you may want to skip it) Which together with Reset debugger after each run would have done as well. But would have the side effect of hiding potential other warnings, leaving you unaware of problems. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] TGDBMIDebuggerInstruction: -file-exec-and-symbols ,
On 17/04/2014 04:46, Marcos Douglas wrote: Hi, I'm using FPC 2.6.5 (fixes_2_6) and Lazarus trunk on Windows. The GDB is updated too, here: http://svn.freepascal.org/svn/lazarus/binaries/i386-win32/gdb I run my program using the IDE and when program closes the IDE returns the error below... and doesn't matter if I run on Debug mode or not. ERROR: While executing the command: TGDBMIDebuggerInstruction: -file-exec-and-symbols , gdb reported: ../../gdb-7.2/gdb/printcmd.c:1916: internal-error: clear_dangling_display_expressions: Assertion `objfile-pspace == solib-pspace' failed.\nA problem internal to GDB has been detected,\nfurther debugging may prove unreliable. Could you help me? Looks like a bug in gdb to me. Could be anything. It may be fixed in later versions of gdb. (7.7 is current) But for 32bit windows 7.2 is still considered the best choice. (this is due to http://sourceware.org/bugzilla/show_bug.cgi?id=14018 / happens often after fileopen/close dialog) I have not yet tested 7.7 with the IDE, but if you accept the above bug, 7.6 was tested with the IDE and the IDE deals with it. (And 7.7 is probably compatible too). Yet 7.5.9 to 7.6.1 were terrible unstable. (7.7 not tested). 7.5.1 was fine, except for the above. Since the above error only happens after the debug session, it will only affect the next session. And it adds the clicks to confirm the error. As for the next debug session, there is a checkbox in the options Reset debugger after each run --- The only other thing I can thing off, and this is just a guess: The error points to something with dll (solib). Sometimies gdb has issues with debug info it finds on dll. try http://wiki.lazarus.freepascal.org/GDB_Debugger_Tips#gdb.exe_has_stopped_working in the field debugger_startup_options enter: --eval-command=set auto-solib-add off But I have no idea if that is going to change anything. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus