zoukankan      html  css  js  c++  java
  • 将windbg与.dmp文件关联

    如果您厌倦了启动调试器、加载转储文件、设置sympath、加载扩展名等,这里有一个很好的方法,可以在.dmp文件的上下文菜单上获取“调试此转储文件”,并自动加载所有您喜欢的命令。
    首先创建一个包含以下内容的.reg文件(在修改注册表时一定要非常小心)

    Windows Registry Editor Version 5.00
    
    
    [HKEY_CLASSES_ROOT.dmp]
    
    @="Debugger.Dump"
    
    [HKEY_CLASSES_ROOTDebugger.Dump]
    
    [HKEY_CLASSES_ROOTDebugger.DumpDefaultIcon]
    
    @="c:\debuggers\cdb.exe"
    
    [HKEY_CLASSES_ROOTDebugger.DumpShell]
    
    [HKEY_CLASSES_ROOTDebugger.DumpShellDebug_Without_Remote]
    
    @="Debug This Dump"
    
    [HKEY_CLASSES_ROOTDebugger.DumpShellDebug_Without_RemoteCommand]
    
    @=""C:\debuggers\windbg" -z "%1" -c "$<c:\debuggers\commands.txt""
    
    [HKEY_CLASSES_ROOTDebugger.DumpShellDebug_With_Remote70]
    
    @="Debug this Dump With Remote:70"
    
    [HKEY_CLASSES_ROOTDebugger.DumpShellDebug_With_Remote70Command]
    
    @=""C:\debuggers\windbg" -server tcp:port=70 -z "%1" -c "$<c:\debuggers\commands.txt""

    右键单击.dmp文件时,将在上下文菜单上提供两个附加选项。首先“调试此转储”,它将用转储打开windbg,然后运行commands.txt中的命令。第二个选项“Debug this Dump With Remote:70”将执行相同的操作,但也将设置一个远程,以便您的同事可以通过端口70远程进入您的调试会话。(记住要更改路径,使它们指向windbg.exe和commands.txt所在的目录)

    其次,创建一个名为commands.txt的文件,其中包含调试器启动时要运行的任何命令。下面的一个设置公共符号的符号路径并加载sos.dll。

    .sympath srv*c:websymbols*http://msdl.microsoft.com/download/symbols
    .load clr10sos
  • 相关阅读:
    ***:做人的基本原则(看完终身受益)
    ref和out的相同和不同的讨论
    关于继承和虚函数的入门讨论
    C#中利用ArrayList来对索引器访问越界情况进行内容的扩充处理
    [C#]实现IEnumerable接口来使用foreach语句的一个实例
    浅谈MSSQL锁机制
    jQuery图片分屏加载技术插件
    SET IDENTITY_INSERT [Table] [ON|OFF]
    SQL Server DATEPART() 函数
    常用的SQL语句对数据库进行操作
  • 原文地址:https://www.cnblogs.com/yilang/p/11947382.html
Copyright © 2011-2022 走看看