How to Debug a C# program with LLDB?

I found few resources online which may have lead me astray, as I can't get even basic functionality out of LLDB.

I used the dotnet-sos tool to supposedly automatically load SOS into LLDB and I attached LLDB to my program's process, but I am getting errors when trying to use any command:

error: 'bpmd' is not a valid command.
error: 'clrstack' is not a valid command.

Its behaving as if SOS isn't installed, I think? I really don't know what is going on, searching for these errors gives me nothing which is insane, usually there would be GitHub issues or Stack Overflow posts. I think I'm about to never touch C# ever again.

10 points · 13 comments · view on lemmy.world

13 Comments

terabyterex@lemmy.world · 3 pts · 59d (11 replies)

which OS? i'll assume linux for my first answer. check the .llldbinit file. see if the dotnet-sos put itself in there.

dr_robotBones@reddthat.com · 1 pts · 59d (10 replies)

Yes I'm on linux, my .lldbinit does have a path to the libsosplugin.so file, and I've confirmed the file is real.

terabyterex@lemmy.world · 3 pts · 59d (9 replies)

try manually loading the plugin.

in an lldb session i THINK its - plugin load ~/.dotnet/sos/libsosplugin.so (i looked up the path since i am on the phone)

dr_robotBones@reddthat.com · 1 pts · 59d (8 replies)

That worked! Though I had to use the absolute path rather than the tilde. Is lldb not properly sourcing the config file?

terabyterex@lemmy.world · 2 pts · 59d (7 replies)

its possible. just to make sure, you started a new session after installing dotnet-sso? what is the path in the .lldbinit file?

dr_robotBones@reddthat.com · 1 pts · 59d (6 replies)

Yeah it was a new session. The .lldbinit file is in my home folder, at ~/

terabyterex@lemmy.world · 1 pts · 59d (5 replies)

i mean inside the init file, is the fotnet-sdo path right? i think the init file isnt loading it correctly

dr_robotBones@reddthat.com · 1 pts · 58d

it only has the plugin load command and setsymbolserver -ms

moonpiedumplings@programming.dev · 2 pts · 50d