Forum > Debugger
Why is Lazarus showing the Assembler window when debugging?
ricardo_sdl:
I usually press F8 to start a debug session on lazarus. I'm used to the debugger starting right at the first command after the begin in the program unit. But I don't know why, now Lazarus shows the Assembler window at the _mainCRTStartup symbol (image attached). Is this some configuration?
Thanks!
ps: Forgot my setup:
Lazarus 1.8.0 r56594 FPC 3.0.4 x86_64-win64-win32/win64
taazz:
os? compilation target? in short, if you are on windows looks like you might have by accident or over-site disabled the win32 gui application option creating a console application instead.
ricardo_sdl:
It's a command line application.
Martin_fr:
Can you test with an "empty" app?
--- Code: Pascal [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---program Project1;{$mode objfpc}{$H+}begin writeln(1); readln;end.
Also test with stabs and Dwarf (debug info type / project options)
This works for me (tested with Lazarus from SVN, but I think it should be the same with 1.8.4.
I know this was not always working. But I am not sure when it was fixed.
You can play around with the setting "InternalStartBreak" found in the property grid under Tools > Option > Debugger > General.
Though for me it made no difference. (except MainAddr stops at the "begin" instead of the "writeln")
---
If it works for the above empty app, but not for your app, then please supply a log file http://wiki.lazarus.freepascal.org/GDB_Debugger_Tips#Log_info_for_debug_session
ricardo_sdl:
--- Quote from: Martin_fr on August 16, 2018, 09:13:32 pm ---Can you test with an "empty" app?
--- Code: Pascal [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---program Project1;{$mode objfpc}{$H+}begin writeln(1); readln;end.
Also test with stabs and Dwarf (debug info type / project options)
This works for me (tested with Lazarus from SVN, but I think it should be the same with 1.8.4.
I know this was not always working. But I am not sure when it was fixed.
You can play around with the setting "InternalStartBreak" found in the property grid under Tools > Option > Debugger > General.
Though for me it made no difference. (except MainAddr stops at the "begin" instead of the "writeln")
---
If it works for the above empty app, but not for your app, then please supply a log file http://wiki.lazarus.freepascal.org/GDB_Debugger_Tips#Log_info_for_debug_session
--- End quote ---
That's strange. I tried your example of "empty app" and using F8 worked as I expected. Then I reloaded my project and the F8 worked fine, the break point was right at the begin keyword. I haven't changed anything. Anyway, here is the log file as suggested (https://pastebin.com/BXSHFpC9).
Navigation
[0] Message Index
[#] Next page