文章预览
点击上方 蓝字 江湖评谈 设为关注/星标 前言 微软官方推荐LLDB作为dotnet CLR跨平台的调试利器,很多人不知道怎么通过LLDB玩.NET9的CLR,本篇一 分 钟带你进入CLR的神奇世界。 LLDB+CLR 以Ubuntu为例, 比如一个简单的HelloWorld, 编译成 托管ConsoleApp1.dll。 class Program { static void Main ( ) { Console.WriteLine( "Hello World" ); } } 一般运行dotnet程序命令如下: #dotnet ConsoleApp1.dll 安装lldb: #apt-get install lldb 先让lldb运行dotnet命令,然后附加托管DLL调试: #lldb dotnet //linux终端启动dotnet ( lldb )settings set target.run-args ConsoleApp1.dll //附加参数(托管DLL) 下断点: (lldb)b write //glibc下断 (lldb)r 堆栈: (lldb) bt * thread #1, name = 'dotnet', stop reason = breakpoint 2.3 * frame #0: 0x00007ffff7914870 libc.so.6`__GI___libc_write(fd=11, buf=0x00007ffff70d9974, nbytes=1) at write.c:25:1 //省略部分
………………………………