很抱歉,如果这是重复的,from what I see则不可能。但在任何情况下都可以使用带有正确符号的Windows调试器附加C#的源代码吗?我知道我们可以使用!name2ee将断点放在不同的函数上,但是有没有办法真正实现像vb或C ++这样的C#代码?或者有其他方法可以实现相同的目标吗?
答案 0 :(得分:3)
有一个加载符号的命令,但我不记得它是什么。我记得你需要pdb和source来使它工作。
如果您有代码并想要介绍为什么不使用Visual Studios?您可以免费下载快递版。此外,如果需要,Visual Studio将允许您附加到已经运行的进程。
答案 1 :(得分:3)
使用Windbg(或ntsd或cdb)不可能。请在2008年使用主题行"No CLR support in the latest debugger release"
查看来自旧的microsoft.public.windbg新闻组的旧帖子。一位微软员工谈论了这个的历史和原因,有趣的是,一个版本的windbg意外地滑落了,实际上有这种能力(然后被删除)。这是链接:https://groups.google.com/forum/#!topic/microsoft.public.windbg/A1MKBkM3L2Y
答案 2 :(得分:1)
不像非托管源代码步进那样方便,但也许没问题。
.symfix x:\symbols
.sympath+ x:\mypdbs
.srcpath x:\mysource
.reload
.loadby sos mscorwks;.loadby sos clr
.load sosex; *** Download SOSEX, use full path if necessary
然后打开源代码,文件/开源文件(Ctrl + O)。
!mbp MySourceFile.cs 77; *** 77 is the line number
g
等到断点被击中,然后尝试
!mt; *** managed step into
!mgu; *** managed go up