![]() |
1
14
您可以使用System.Diagnostics.StackTrace从异常中获得上次MSIL指令的偏移量:
输出:
然后你可以使用 Reflector 或 ILSpy 要解释偏移:
您知道0x1B之前的指令引发了异常。很容易找到C代码:
你现在可以把IL代码映射到C代码,但我认为收益太小,工作量太大(尽管可能有一个反射插件)。你应该对IL偏移没问题。 |
![]() |
2
5
你应该用 Environment.FailFast ,呼叫FailFast Application.UnhandledException 会为您创建一个转储文件。 从MSDN:
你可以编写一个简单的应用程序来收集日志文件并发送给你。 现在,打开转储文件有点棘手,VisualStudio无法处理托管转储文件(固定在.NET 4)中,您可以使用 WinDBG 但是你需要使用 SOS 。 |
![]() |
4
1
您绝对是在正确的轨道上需要pdb文件,以准确地获得源和行信息。我会质疑航运PDB文件的任何问题,实际上是一个有效的关注,但假设有一个有效的理由,你可以做到这一点,但它需要更多的努力,你的一部分,以创建适当的软件构建环境。 符号文件服务器 将为调试符号编制索引,并将它们存储起来,以便在以后有崩溃转储(例如,需要可用的符号)时使用。您可以将VisualStudio或WrnBG指向自己的符号服务器实例,就像 Microsoft's ,它将拉下调试该版本应用程序所需的符号(假设您在装运之前使用symbol server对这些符号编制了索引)。 一旦有了用于生成的适当符号,就需要确保有属于该生成的适当源文件。 这里就是 Microsoft源服务器 进来。就像符号服务器索引的位置一样 符号 ,源服务器将索引 来源 以确保您拥有属于软件生成的源代码的适当版本。 工作版本 版本控制 , 符号服务器 和 源服务器 应该是软件配置管理策略的一部分。 有一些商业的第三方工具将为您提供一个api来生成应用程序快照,但是正如您已经了解到的,您需要一种机制以某种方式将这些快照上载到您的环境中。 约翰·罗宾斯 PDB Files 约翰·罗宾斯 Source Server 退房 WinDbg documentation 启动并运行符号服务器。 |
![]() |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
![]() |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
![]() |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
|
Dansih · .Net核心自定义身份验证方案 2 年前 |
![]() |
lolorekkk · 面板插入。NET WinForm 2 年前 |