Windbg 我该怎么做-";永久命令?

Windbg 我该怎么做-";永久命令?,windbg,Windbg,我想在每次windbg启动时运行一个初始命令,然后我必须一直使用windbg-cbala 是否有要写入的配置文件/注册表项?因此windbg在启动时自动运行它们,可以作为调试器运行,也可以由用户手动启动每次当 验证一些假设。为了重复执行,我在某个地方创建了一些文本文件,比如c:\initwind.txt,并将初始化中的所有内容放入这个文本文件中。示例文件内容如下: C:\>type initwind.txt .echo windbg is starting .echo loading ex

我想在每次windbg启动时运行一个初始命令,然后我必须一直使用
windbg-cbala


是否有要写入的配置文件/注册表项?因此windbg在启动时自动运行它们,可以作为调试器运行,也可以由用户手动启动

每次当
验证一些假设。为了重复执行,我在某个地方创建了一些文本文件,比如
c:\initwind.txt
,并将初始化中的所有内容放入这个文本文件中。示例文件内容如下:

C:\>type initwind.txt
.echo windbg is starting
.echo loading extra extension sdbgext
.load sdbgext
.echo loading extra extension domdbg
.load domdbg
.echo patching ntdll for leet stuff
u 7c94b8a1 l1
eb 7c94b8a1+3 00
u 7c94b8a1 l1
为了利用这个文本文件,我在
PATH
中创建了一个bat文件,其内容粘贴在下面


请注意,cdb/kd和cdb/kd使用了
-cfr
,而
-c$$$>a每次
验证一些假设。为了重复执行,我在某个地方创建了一些文本文件,比如
c:\initwind.txt
,并将初始化中的所有内容放入这个文本文件中。示例文件内容如下:

C:\>type initwind.txt
.echo windbg is starting
.echo loading extra extension sdbgext
.load sdbgext
.echo loading extra extension domdbg
.load domdbg
.echo patching ntdll for leet stuff
u 7c94b8a1 l1
eb 7c94b8a1+3 00
u 7c94b8a1 l1
为了利用这个文本文件,我在
PATH
中创建了一个bat文件,其内容粘贴在下面


请注意,对于cdb/kd和
-c$$$>a使用了
-cfr
,在新的WinDbg预览中,您可以设置在新的WinDbg会话启动时运行的命令

打开“设置”对话框,然后转到“调试设置”,然后向下扫描页面以查找“启动”。在那里添加您的命令


在新WinDbg预览中,您可以设置在新WinDbg会话启动时运行的命令

打开“设置”对话框,然后转到“调试设置”,然后向下扫描页面以查找“启动”。在那里添加您的命令


您能不能创建一个快捷方式/批处理文件,并在快捷方式/批处理文件中传递这些参数?我认为windbg没有任何可以实现您所需的注册设置。您可以使用,但这仍然需要您在启动WinDbg后单击命令来加载脚本,我不确定这会在这个实例中为您节省多少时间Hi@EdChum当WinDbg用作崩溃程序的默认调试器时,这仍然有效吗?是的,应该有效,它将字符串
“C:\Program Files\Windows Kits\8.0\Debuggers\x64\windbg.exe”-p%ld-e%ld-g
写入regkey
中,以便您能够为其他读取器向该字符串添加参数:
windbg-I
(大写I)将自身安装为事后调试程序。您是否可以创建一个快捷方式/批处理文件并在快捷方式/批处理文件中传递这些参数?我认为windbg没有任何可以实现您所需的注册设置。您可以使用,但这仍然需要您在启动WinDbg后单击命令来加载脚本,我不确定这会在这个实例中为您节省多少时间Hi@EdChum当WinDbg用作崩溃程序的默认调试器时,这仍然有效吗?是的,应该有效,它将字符串
“C:\Program Files\Windows Kits\8.0\Debuggers\x64\windbg.exe”-p%ld-e%ld-g
写入regkey
中,以便您能够为其他读取器向该字符串添加参数:
windbg-I
(大写I)将自身安装为事后调试程序。
C:\>type c:\WINDOWS\rundbg.bat
@ECHO OFF
IF "%1" == "windbg" goto windbg
IF "%1" == "cdb"    goto cdb
IF "%1" == "lkd"    goto lkd
IF "%1" == ""       goto usage

:windbg
IF NOT "%2" == "" goto startwindapp
@call windbg.exe -c "$$>a< c:\initwind.txt"
goto exit
:startwindapp
@call windbg.exe -c "$$>a< c:\initwind.txt" %2
goto EXIT

:cdb
IF NOT "%2" == "" goto startcdbapp
@call cdb.exe -cfr "c:\initwind.txt"
goto exit
:startcdbapp
@call cdb.exe -cfr "c:\initwind.txt" %2
goto EXIT

:lkd
IF NOT "%2" == "" goto startkdapp
@call kd.exe -kl  -cfr "c:\initwind.txt"
goto exit
:startkdapp
@call kd.exe -kl -cfr "c:\initwind.txt" %2
goto EXIT


:usage
echo runwind.bat ^<debugger viz windbg/cdb/kd^> ^<executable / other commands^>
goto exit

:exit
C:\>
C:\>rundbg cdb calc
CommandLine: calc

ntdll!DbgBreakPoint:
7c90120e cc              int     3
0:000> .echo windbg is starting
windbg is starting
0:000> .echo loading extra extension sdbgext
loading extra extension sdbgext
0:000> .load sdbgext
0:000> .echo loading extra extension domdbg
loading extra extension domdbg
0:000> .load domdbg
dom WinDBG extension v0.3 loaded
0:000> .echo patching ntdll for leet stuff
patching ntdll for leet stuff
0:000> u 7c94b8a1 l1
ntdll!RtlAllocateHeapSlowly+0xde6:
7c94b8a1 81e3ff0fffff    and     ebx,0FFFF0FFFh
0:000> eb 7c94b8a1+3 00
0:000> u 7c94b8a1 l1
ntdll!RtlAllocateHeapSlowly+0xde6:
7c94b8a1 81e3ff00ffff    and     ebx,0FFFF00FFh
0:000> .echo checking the extension chain
checking the extension chain
0:000> .extcmds
.load ntsdexts
.load uext
.load exts
.load ext
.load dbghelp
.load sdbgext
.load domdbg


0:000> .restart
CommandLine: calc

ntdll!DbgBreakPoint:
7c90120e cc              int     3
0:000> .echo windbg is starting
windbg is starting
0:000> .echo loading extra extension sdbgext
loading extra extension sdbgext
0:000> .load sdbgext
0:000> .echo loading extra extension domdbg
loading extra extension domdbg
0:000> .load domdbg
dom WinDBG extension v0.3 loaded
0:000> .echo patching ntdll for leet stuff
patching ntdll for leet stuff
0:000> u 7c94b8a1 l1
ntdll!RtlAllocateHeapSlowly+0xde6:
7c94b8a1 81e3ff0fffff    and     ebx,0FFFF0FFFh
0:000> eb 7c94b8a1+3 00
0:000> u 7c94b8a1 l1
ntdll!RtlAllocateHeapSlowly+0xde6:
7c94b8a1 81e3ff00ffff    and     ebx,0FFFF00FFh
0:000> .echo checking the extension chain
checking the extension chain
0:000> .extcmds
.load ntsdexts
.load uext
.load exts
.load ext
.load dbghelp
.load sdbgext
.load domdbg
0:000>