调试c#源代码使用windows调试器



抱歉,如果这是一个重复,从我看到这是不可能的。但在任何情况下,是否有可能附加源代码c#与windows调试器与正确的符号?我知道我们可以使用!name2ee在不同的函数上放置断点,但是是否有一种方法可以真正通过c#代码,如vb或c++ ?或者是否有其他方法可以达到同样的效果?

遗憾的是,不能使用Windbg(或ntsd或cdb)。请参阅2008年旧microsoft.public.windbg新闻组的旧帖子,主题为"No CLR support in the latest debugger release"。一位微软员工谈到了这个问题的历史和原因,有趣的是,一个版本的windbg是如何意外出现的,而这个版本实际上有这个功能(后来被删除了)。链接如下:https://groups.google.com/forum/#!topic/microsoft.public.windbg/A1MKBkM3L2Y

有一个加载符号的命令,但我不记得是什么了。我记得您需要pdb和源代码才能使其工作。

如果你有代码,并想逐步通过为什么不使用Visual studio ?您可以免费下载快速版。此外,如果需要,Visual Studio还允许您附加到已经运行的进程。

不如非托管源代码步进方便,但也许还可以。

.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

打开源代码,File/open source File (Ctrl+O)。

!mbp MySourceFile.cs 77; *** 77 is the line number
g

等待,直到遇到断点,然后尝试

!mt; *** managed step into
!mgu; *** managed go up

相关内容

最新更新