编译,调试mono运行时
编译调试mono,并不复杂,首先在 http://www.go-mono.com/mono-downloads/download.html 下载源代码.
下载之后,按照 http://www.mono-project.com/Compiling_Mono_From_Tarball 所说的进行编译安装。(可以通过设置 ./Configure 的 --prefix=dirname 参数来指定安装目录。)
如下操作:
gdb mono
结果:
Reading symbols from /home/liulijin/monosvnbuild/bin/mono...done.
Mono support loaded.
(gdb) break mono_main
Breakpoint 1 at 0x80b3d0c: file driver.c, line 1291.
(gdb) run ~/cs/y.exe
Starting program: /home/liulijin/monosvnbuild/bin/mono ~/cs/y.exe
[Thread debugging using libthread_db enabled]
Breakpoint 1, mono_main (argc=2, argv=0xbffff424) at driver.c:1291
1291 setlocale (LC_ALL, "");
(gdb) print argc
$1 = 2
Reading symbols from /yourfoldername/bin/mono...done.
Mono support loaded.
(gdb) break mono_main
Breakpoint 1 at 0x80b3d0c: file driver.c, line 1291.
(gdb) run ~/cs/y.exe
Starting program: /home/liulijin/monosvnbuild/bin/mono ~/cs/y.exe
[Thread debugging using libthread_db enabled]
Breakpoint 1, mono_main (argc=2, argv=0xbffff424) at driver.c:1291
1291 setlocale (LC_ALL, "");
(gdb) print argc
$1 = 2
通过源码生成的mono才有symbol信息,本来挺简单的东西,由于我不太熟悉linux环境,浪费了不少时间。。