I don't know if gdb or pdb has this kind of easy to use tools.If they have, it will make a step further for me to debug cpp or py programs.Since in the GUI format, we can see the entire debugging process more clearly.Thanks guy, you open a new door to me.
OMG, thank you......I spent my entire morning trying to find out why gdb failed on the UTM Ubuntu Linux on my Apple M1.....It was so frustrating. Then I found your video and lldb worked perfectly.,...Thank you!
Thankx for this insight into Mac programming that I never had. 2 stupid me looks very Linux ish. Was very curious because of the old I'd software doom biographies where I got the impression of Mac/nextos backgrounds that seemed so distantly magical to me
@@VoidloniXaarii Tooling infrastructure for modular frontend (lexer, parser, etc.), optimizer (on the intermediate LLVM bitcode), and backend (Code generation) I think has made a big difference. Allows for more engineers to work in the code. It's evolved into something quite massive, but still is probably the best default for language and toolbuilding.
@@MikeShah I would not have been so surprised to see such excellentce in gcc or Microsoft compiler, but that it showed up in a less expected made me wonder who the powers/ppl behind it were
i have llvm installed, it has lldb binary. when i execute it, nothing happens. Why? no response at all!, when i pass program as 1st argument nothing happends! why why?
Thank you so much for such a great video. How do you show the source code instead of assembly code. Basically, in my case after the run command, the whole process is showing in assembly only. I would like to show the source code instead. I couldn't find any help on the lldb website.
Can always use 'l' (lower case L) to list the source code. If you mean in the GUI, try going to @7:40 and following along. My guess is you did not compile your code with '-g' to insert debugging symbols.
How can I intergate lldb with VSCode and maybe some other external tools like Wireshark to debug low-level networking code (in Rust) ? I googled some time, can can't find any VSCode extension able to show network traffic in an app started in debug mode, excepts one able to view recorded traffic files but not a realtime run.
I don't use VSCode often, but I imagine there is an integration. Otherwise, lldb can be used from the console window. I haven't used wireshark in years either, perhaps there are some integrations as well.
Nice intro, thanks ! May i ask if lldb supports setup breakpoint only for a specific thread (conditionally) ? Like in GDB `b file.cpp:30 thread 4` which only pauses at the breakpoint in thread 4.
Thanks very helpful. Did you by any chance try out clang modules in lldb? Debugging C++ with libc++ is very annoying. I was hoping that clang modules can help there
I'm assuming you're asking about 3:13? There appears to be some workarounds in the privacy & security settings here: developer.apple.com/forums/thread/110423 Otherwise, I was not running as a super user which may have been the problem.
The 11 minutes I did not know I needed , great job
Cheers!
Thank you very much, I’m trying to jump from web programming to system programming and I really needed a clear and easy introduction to LLDB.
You are most welcome!
I don't know if gdb or pdb has this kind of easy to use tools.If they have, it will make a step further for me to debug cpp or py programs.Since in the GUI format, we can see the entire debugging process more clearly.Thanks guy, you open a new door to me.
OMG, thank you......I spent my entire morning trying to find out why gdb failed on the UTM Ubuntu Linux on my Apple M1.....It was so frustrating. Then I found your video and lldb worked perfectly.,...Thank you!
Cheers!
LLoved it, great tutorial, I was looking for the r and n shortcuts on GUI and yours really helped, thanks million :)
Cheers!
Hint: Once can use "frame" or "f" instead of "list " to view the current frame.
PS: Thanks for the tutorial, it helped! :)
Cheers, you are most welcome!
This is a great introduction to LLDB, thank you!
Thank you!
this is freaking beautiful
Cheers!
Great video!
Thank you for the kind words 🙂
very good tutorial! thank you very much!🙌
THANKS !
Cheers!
Very helpful tutorial! Thanks a ton!
Thank you for the kind words!
Thanks for your tutorial!
Cheers!
Thankx for this insight into Mac programming that I never had. 2 stupid me looks very Linux ish. Was very curious because of the old I'd software doom biographies where I got the impression of Mac/nextos backgrounds that seemed so distantly magical to me
Cheers! lldb really works well with the clang compilers (which Mac seems to be supporting)
@@MikeShah clang is in general such a mystery to me... How can they be so so good?
@@VoidloniXaarii Tooling infrastructure for modular frontend (lexer, parser, etc.), optimizer (on the intermediate LLVM bitcode), and backend (Code generation) I think has made a big difference. Allows for more engineers to work in the code. It's evolved into something quite massive, but still is probably the best default for language and toolbuilding.
@@MikeShah I would not have been so surprised to see such excellentce in gcc or Microsoft compiler, but that it showed up in a less expected made me wonder who the powers/ppl behind it were
Really nice presentation 👏👏👏
Thank you for the kind words!
good stuff! thanks!
Cheers!
i have llvm installed, it has lldb binary. when i execute it, nothing happens. Why? no response at all!, when i pass program as 1st argument nothing happends! why why?
Hmm, any progress on this? Strange if you get no feedback on the terminal. What version of lldb?
@@MikeShah lldb depends on embedded python libs, which is not available on windows. I added them manually, now it works.
@@anshul5909 Good to know!
Thank you, really illustrative!
Thank you for the kind words! 🙂
Thank you so much for such a great video. How do you show the source code instead of assembly code. Basically, in my case after the run command, the whole process is showing in assembly only. I would like to show the source code instead. I couldn't find any help on the lldb website.
Can always use 'l' (lower case L) to list the source code. If you mean in the GUI, try going to @7:40 and following along. My guess is you did not compile your code with '-g' to insert debugging symbols.
How can I intergate lldb with VSCode and maybe some other external tools like Wireshark to debug low-level networking code (in Rust) ?
I googled some time, can can't find any VSCode extension able to show network traffic in an app started in debug mode, excepts one able to view recorded traffic files but not a realtime run.
I don't use VSCode often, but I imagine there is an integration. Otherwise, lldb can be used from the console window. I haven't used wireshark in years either, perhaps there are some integrations as well.
very well explained
Cheers!
Nice intro, thanks ! May i ask if lldb supports setup breakpoint only for a specific thread (conditionally) ? Like in GDB `b file.cpp:30 thread 4` which only pauses at the breakpoint in thread 4.
Can try in lldb, and I think this is supported using the python lldb api, but not sure of the command off the top of my head.
@@MikeShah Thanks. I googled around, look like there is no direct builtin command for that. Will explore python lldb API.
@@ziliangchen7111 cool, let me know what you find!
_Lost debug server connection_
Thanks very helpful. Did you by any chance try out clang modules in lldb? Debugging C++ with libc++ is very annoying. I was hoping that clang modules can help there
By modules do you mean c++20 modules debugging? Or perhaps some other debugging feature?
Great video! Is there anyway to not have the prompt keep asking you to give permissions to files whenever you "run" LLDB?
I'm assuming you're asking about 3:13? There appears to be some workarounds in the privacy & security settings here: developer.apple.com/forums/thread/110423 Otherwise, I was not running as a super user which may have been the problem.
Note: Should always use care when running as super user!
Ah, right! Apple can be a pain sometimes. I'll just stick to this and accept the prompt. Thanks again!
Thank you for this video it was very helpful! By any chance do you use an ~/.lldbint If sou, could you share it ?! Thank you :D
Cheers! I don't use one at this time