`ls`命令在windbg中未按预期工作
我正在调试一段代码,我让它在异常时中断。我已经设置了相关的源代码和符号路径,但是当我使用`ls`命令在windbg中未按预期工作,windbg,Windbg,我正在调试一段代码,我让它在异常时中断。我已经设置了相关的源代码和符号路径,但是当我使用ls时,它不会显示或列出当前源文件,即使当我选择正确的堆栈帧时,它会高亮显示我感兴趣的开源文件中的行 为什么呢?我不明白什么?“当前源文件”是什么意思?当您位于源文件不可用的地址上时(如ntdll上的\u dbgbreakpoint),发出ls将发出消息“无当前源文件”: 使用lsa.(注意)而不是ls,它会加载当前地址的源 在下面的粘贴中,当前行由表示。 请注意,ls由于没有预加载的源文件而失败,而lsa。
ls
时,它不会显示或列出当前源文件,即使当我选择正确的堆栈帧时,它会高亮显示我感兴趣的开源文件中的行
为什么呢?我不明白什么?“当前源文件”是什么意思?当您位于源文件不可用的地址上时(如
ntdll上的\u dbgbreakpoint
),发出ls
将发出消息“无当前源文件”:
使用lsa.
(注意
)而不是ls
,它会加载当前地址的源
在下面的粘贴中,当前行由
表示。
请注意,ls
由于没有预加载的源文件而失败,而lsa。
提供源代码行
0:000> g wmain
00401000 55 push ebp
0:000> ls
No current source file
0:000> lsa .
67: }FileInfoAttributeRecord,*PFileInfoAttributeRecord;
68:
69:
70: int _tmain(int argc, _TCHAR* argv[])
> 71: {
您需要提供更多信息。堆栈跟踪或其他人复制的方式就足够了。嗨,布拉布。我很感谢您对WinDbg主题的回答。你可以稍微改进一下答案的格式。使用反勾号表示句子中的WinDbg命令。这使读者更清楚地知道他需要键入什么。对于符号名或模块名也使用反勾号。要强调某事,请使用一个星号(斜体)或两个星号(粗体)。谢谢
0:000> .restart
ntdll!DbgBreakPoint:
7c90120e cc int 3
0:000> ls
77: PAttributeHeader psecondheader = NULL ;
78: PAttributeHeader pthirdheader = NULL;
79: PFileInfoAttributeRecord pfinforecord = NULL;
80:
81: memset(&dump,0,sizeof(dump));
82: fopen_s( &fp,"\\\\.\\PHYSICALDRIVE0", "rb" );
0:000> g wmain
00401000 55 push ebp
0:000> ls
No current source file
0:000> lsa .
67: }FileInfoAttributeRecord,*PFileInfoAttributeRecord;
68:
69:
70: int _tmain(int argc, _TCHAR* argv[])
> 71: {