我需要保存多个PDB才能调试崩溃转储文件吗



为了正确调试客户发送给我的崩溃转储文件,我需要从原始构建中保存多少?显然我需要PDB。我还需要别的吗?

(这将用于由dbghelp.dll中的MiniDumpWriteDump函数编写的崩溃转储文件。(

到目前为止,我总是保存整个构建文件夹。代码、PDB、.OBJ文件、输出二进制文件等等。只是为了安全。我想尽量减少我节省的钱。但是,我无法通过艰难的方式发现我错过了什么。

实际的源代码将在源代码管理中,并用构建标签进行标记,这样我就可以按标签提取并获得我以前构建的内容。在调试崩溃转储之前,我甚至需要麻烦地提取源代码吗?或者只拥有PDB就足够了吗?

从您的公司来看,PDB应该是您所需要的一切。源代码也很有用,因为PDB提供行号,您可以直接查看源代码。

通常,您不会复制PDB,而是设置一个符号服务器。您也不会复制源代码,而是让源服务器来管理它。Team Foundation Server(TFS(同时提供这两种功能。但也有一些替代方案不需要TFS。

如果是.NET程序,您还需要发生崩溃的客户端机器上的SOS.dll和MSCORDACWKS.dll。具有正确的版本号(请注意,可能安装了几个.NET框架(。

SOS是WinDbg的调试扩展,可启用.NET调试。MSCORDACWKS是数据访问组件(DAC(,它知道内存中的对象是什么样子的。(MS=Microsoft,COR=.NET,WKS=工作站(。有一个专用的WinDbg命令.cordll

最新更新