`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: {