Windbg .logopen文件位置

时间:2018-02-13 21:40:17

标签: windbg

使用.logopen logfile.txt命令时,logfile.txt在哪里创建?我设法通过指定绝对路径来解决它,但我想知道何时给出文件创建的相对路径?

2 个答案:

答案 0 :(得分:2)

对于版本6.3.9600,WinDbg帮助在.hh .logfile中说:

  

如果未指定路径,则调试器将使用当前目录。

对我来说,我在程序文件目录中安装了WinDbg。

5:kd> .dbgdbg
0:025> |
.  0    id: 29fc        attach  name: C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\windbg.exe

使用Process Monitor,我可以看到WinDbg尝试在那里创建日志文件(并且由于许可原因而失败)。

当我将WinDbg LNK文件中的工作目录用于启动时,它会打开该目录中的日志文件。

Change workding directory in WIndows

我无法确认@blabbs的答案,因为我的主目录是

5: kd> !homedir
Home directory is C:\ProgramData\dbg

在两种情况下(从%ProgramFiles%运行并从D:\temp运行)。如果我更改!homedir.logfile的位置不会受到影响。

答案 1 :(得分:1)

编辑

日志文件是在当前目录中创建的,其中windbg被调用而不是在homedir中我总是从start run(winkey + r - > windbg)运行windbg,显然它从安装文件夹启动windbg并继承目录看来好像

从不同文件夹启动windbg使日志文件在相应的当前目录中创建

>md windbglogtestone
>cd windbglogtestone
\windbglogtestone>cdb -c ".logopen mylog.txt;q" cdb
Microsoft (R) Windows Debugger Version 10.0.16299.15 X86

0:000> cdb: Reading initial command '.logopen mylog.txt;q'
Opened log file 'mylog.txt'
quit:

\windbglogtestone>cd ..

>md windbglogtestwo
>cd windbglogtestwo
\windbglogtestwo>cdb -c ".logopen mylog.txt;q" cdb
Microsoft (R) Windows Debugger Version 10.0.16299.15 X86

0:000> cdb: Reading initial command '.logopen mylog.txt;q'
Opened log file 'mylog.txt'
quit:

\windbglogtestwo>cd ..

>dir /s /b *my*.txt
\windbglogtestone\mylog.txt
\windbglogtestwo\mylog.txt

它在home目录中创建,其中home表示安装windbg的文件夹(通常为c:\ progra~ \ w..kits .. \ debug ..... \ x ..)

请参阅下文,了解不同路径中的windbg安装

0:000> .logopen mylogfile.txt
Opened log file 'mylogfile.txt'
0:000> !homedir
Home directory is E:\windjs\windbg_16299\x86
0:000> .shell - dir *my*


 Directory of E:\windjs\windbg_16299\x86

02/14/2018  09:07 AM                 0 mylogfile.txt
               1 File(s)              0 bytes
               0 Dir(s)  102,247,899,136 bytes free
.shell: Process exited
Press ENTER to continue

回应lieven的评论为什么.shell命令中的连字符

它表示空输入文件
可以将input files传递给.shell进行处理,而不是windbg commands 使用 -i 代替 -c
传递一个连字符告诉没有输入文件
只有指示的shell命令需要完成