How to Stop Debuggng on Internal Laz Files lazarus / 12-Debugger ---------------------------------------------------------------------- pixelink · 2025-10-25 22:17 How do I stop the debugger from opening and debugging internal Laz files in Laz 4.2?? I am using the FpDebug option cause its the only one I could get working. Also, a lot has changed sine 3.2... I am kind of lost with the debugger settings in this new version. ---------------------------------------------------------------------- Martin_fr · 2025-10-25 22:43 You need to compile LCL (and other packages) without debug info. (afaik) You can for many of them get that done by menu Tools > Configure build lazarus memo "custom options", add: -g- You can also do it via "Addition and overrides", by creating a section for the packages in question (search wiki). Or edit each package's options. Btw, that is the same for all the debuggers. Gdb, lldb, they all will do the same for packages. ---------------------------------------------------------------------- Martin_fr · 2025-10-25 22:47 Most of the time it should actually not matter. If you step with F8 "step over" then you will not step into packages. If you need to step in Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i   MyFunction(SomeLclFunction(1), 2);Then you need F7 "Step into", which enters SomeLclFunction first. But you can immediately use "Step out" and then "step in" again, at you will be in MyFunction If your RTL is compiled with debug info, then that may step into other RTL functions (e.g. object/class checks) If your problem is that at the end of Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i procuder TForm.Button1Pressed(Sender: TObject);begin//...end; // "step over" here You do step into the LCL => that you can not avoid. If you compile the LCL without debug info, then that will step into assembler. The current function ends, the debugger will go to the calling function. ---------------------------------------------------------------------- Martin_fr · 2025-10-25 22:51 Let me know which of the option you need info on.... This page https://wiki.freepascal.org/Debugger_Setup wich should open with F1 (it should, not tested now) looks still up to date... ---------------------------------------------------------------------- Thausand · 2025-10-25 23:45 Quote from: Martin_fr on October 26, 2025, 12:47:53 amYou do step into the LCL => that you can not avoid. If have set breakpoint fe want debug code onclick and want see many iteration then example describe can also have press run, then button click for new debug iterate. If know where is continue code when LCL is return and there have other breakpoint then run is make break for continue debug (where continue code not know every time, is depend on code  ) ---------------------------------------------------------------------- Martin_fr · 2025-10-26 09:20 If I understand the below: It is stepping at the end of a function? Quote from: Thausand on October 26, 2025, 01:45:08 amIf know where is continue code when LCL is return and there have other breakpoint then run is make break for continue debug (where continue code not know every time, is depend on code  ) - So you are at the end of (example): "Button1Click". - Then your code has Button2Click, Timer1Timer, Edit1EditDone, Edit1KeyDown, Form1Focus, ..... many events And you want to stop in any of them? Then you must set a breakpoint in every one of them. Stepping can not do that. Alternative you change your code for debugging In each and every procedure, as the very first line Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i procedure Form1xxxxx;begin  MyDebugHelpFunction;  .... and Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i procedure MyDebugHelpFunction;begin  sleep(1);  // ONE breakpoint hereend; (there are similar ways with debugbreak from the windows kernel, or asm code / but they need a bit more knowledge)