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

本文关键字:windows 调试器 源代码 调试 | 更新日期: 2023-09-27 17:49:28

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

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

遗憾的是,不能使用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