Forum > Debugger

Problems using Dwarf 3 debugger [SOLVED]

(1/3) > >>

carl_caulkett:
* Mac Mini M1
* macOS 14.6.1
* Lazarus 3.99 aarch64 (installed with fpcupdeluxe)
* FPC 3.3.1

I have an annoying problem trying to get Dwarf 3 debugging working with my app. The reason I'm using Dwarf 3 is that it's the only option that even lets me set a break point without it saying...

--- Code: Text  [+][-]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";}};} ---The debugger encountered an internal error.Save your work.You may the hit "Stop", or "Reset debugger" to terminate the debug session. 
With Dwarf 3, I can, at least single step through the code but the problem is that any watches I set just come up as <Error: >. This is both on component properties and simple primitives.



carl_caulkett:
@Martin_fr, I saw your message about applying a patch... https://forum.lazarus.freepascal.org/index.php/topic,65438.msg503217.html#msg503217

Is it worth me trying that?

UPDATE: Never mind! It look like that patch is already in place...

Martin_fr:
Dwarf-3 is the debug info type. (The data that fpc writes for the debugger, so the debugger knows what the exe contains)

You probably use the "LLDB + FpDebug" debugger (backend) => Go to preferences, and then Debugger > Backend => At the top is a toolbar, and it should have a button that ends in "LLDB with FpDebug" (or very similar).

If it ends in just "LLDB (Alpha)" and does not mention FpDebug => then you want to change that.


If the above is correct. In the menu "View" > "Ide Internals" select "Debug Output". This opens an empty window. It is important you do that before starting the debugger (before F9 / Run).

Now Run your app in the debugger.
Then copy the content from that window.


If you have the LLDB+FpDebug then Dwarf-3 should be fine. (And get the better results)

Technically you should also be able to use Dwarf-2. How does the problem manifest, if you set a breakpoint with Dwarf-2?

It's in your post...

Martin_fr:
That patch is already in 3.99 and fixes.

carl_caulkett:

--- Quote from: Martin_fr on October 18, 2024, 10:32:12 pm ---Dwarf-3 is the debug info type. (The data that fpc writes for the debugger, so the debugger knows what the exe contains)

You probably use the "LLDB + FpDebug" debugger (backend) => Go to preferences, and then Debugger > Backend => At the top is a toolbar, and it should have a button that ends in "LLDB with FpDebug" (or very similar).

If it ends in just "LLDB (Alpha)" and does not mention FpDebug => then you want to change that.


If the above is correct. In the menu "View" > "Ide Internals" select "Debug Output". This opens an empty window. It is important you do that before starting the debugger (before F9 / Run).

Now Run your app in the debugger.
Then copy the content from that window.


If you have the LLDB+FpDebug then Dwarf-3 should be fine. (And get the better results)

Technically you should also be able to use Dwarf-2. How does the problem manifest, if you set a breakpoint with Dwarf-2?

It's in your post...

--- End quote ---

This is all I can see in "Debugger backend"...

Navigation

[0] Message Index

[#] Next page

Go to full version