lsf, lsf- (Load or Unload Source File)
lsf和lsf-命令加载或卸载源文件。
lsf Filename
lsf- Filename
参数:
- Filename
指定要加载或卸载的文件。如果此文件不在从中打开调试器的目录中,则必须包含绝对路径或相对路径。文件名必须遵循Microsoft Windows文件名惯例。
lsf命令加载源文件。lsf-命令卸载源文件。可以使用此命令卸载以前使用lsf加载的文件或自动加载的源文件。不能使用lsf-卸载通过windbg的file|open source file命令加载的文件或windbg工作区加载的文件。在cdb或kd中,可以在调试器命令窗口中查看源文件。在windbg中,源文件作为新的源窗口加载。
lsc (List Current Source)
lsc命令显示当前源文件名和行号。
lsc
lse (Launch Source Editor)
该命令打开当前源文件的编辑器。
lse
lse命令打开当前源文件的编辑器。此命令相当于在windbg的源窗口的快捷菜单中单击“编辑此文件”。发布服务器在运行目标的计算机上打开,因此您不能从远程客户端使用lse命令。windiff编辑器注册表信息或WINDBG_INVOKE_EDITOR环境变量的值决定打开哪个编辑器。例如,考虑WINDBG_INVOKE_EDITOR的以下值。
c:\my\path\myeditor.exe -file %f -line %l
此值表示myeditor.exe打开到当前源文件的基于一个行号的行。%l选项表示行号应以一个为基础读取,而%f表示应使用当前源文件。您还可以包括%l以指示行号是基于零的,或者包括%p以指示应使用当前源文件。
ls, lsa (List Source Lines)
ls和lsa命令显示来自当前源文件的一系列行,并前进当前源行号。
ls [.] [first] [, count]
lsa [.] address [, first [, count]]
参数:
-
.
使命令查找调试器引擎或.srcpath(设置源路径)命令正在使用的源文件。如果不包括句点(.),ls将使用lsf(加载源文件)命令最近加载的文件。
-
address
指定源显示开始的地址。 -
first
指定要显示的第一行。默认值是当前行。 -
count
指定要显示的行数。默认值是20(0x14),除非使用lsp-a命令更改了默认值。
运行ls或lsa命令后,当前行被重新定义为显示的最后一行加上一行。当前行用于将来的ls、lsa和lsc命令。
lsp (Set Number of Source Lines)
i s l a n d mìng命 lìng令 dǎ打 kāi开 dāng当 qián前 yuán源 wén文 jiàn件 de的 biān编 jí辑 qì器 。 cǐ此 mìng命 lìng令 xiāng相 dāng当 yú于 zài在 w i n d b g de的 yuán源 chuāng窗 kǒu口 de的 kuài快 jié捷 cài菜 dān单 zhōng中 dān单 jī击 “ biān编 jí辑 cǐ此 wén文 jiàn件 ” 。
lsp命令控制单步执行或执行代码或使用ls和lsa命令时显示的源代码行数。
The editor is opened on the computer that the target is running on, so you cannot use the lse command from a remote client.
lsp [-a] LeadingLines TrailingLines
lsp [-a] TotalLines
lsp [-a]
参数:
- -a
lsp命令控制单步执行或执行代码或使用ls和lsa命令时显示的源代码行数。 - LeadingLines
指定要在当前行之前显示的行数。 - TrailingLines
指定要在当前行之后显示的行数。 - TotalLines
指定要显示的行总数。这个数字在前导行和尾随行之间平均分配。(如果此数字为奇数,则显示更多的尾随行。)
当您在没有参数的情况下使用lsp命令时,lsp将显示您在单步执行时使用的当前前导行和尾行值。当您仅将此命令与-a参数一起使用时,lsp将显示您在单步执行以及ls和lsa命令时使用的值。 当您单步执行程序或在程序执行后插入时,上一个lsp命令将确定显示的前导和尾随行数。使用lsa时,前一个lsp-a命令确定显示的前导和尾随行数。使用ls时,所有行都显示为一个块,因此前一个lsp-a命令确定显示的行总数。
dāng当 nín您 zài在 méi没 yǒu有 cān参 shù数 de的 qíng情 kuàng况 xià下 shǐ使 yòng用 l s p mìng命 lìng令 shí时 , l s p jiāng将 xiǎn显 shì示 nín您 zài在 dān单 bù步 zhí执 xíng行 shí时 shǐ使 yòng用 de的 dāng当 qián前 qián前 dǎo导 háng行 hé和 wěi尾 xíng行 zhí值 。 dāng当 nín您 jǐn仅 jiāng将 cǐ此 mìng命 lìng令 yǔ与 - a cān参 shù数 yī一 qǐ起 shǐ使 yòng用 shí时 , l s p jiāng将 xiǎn显 shì示 nín您 zài在 dān单 bù步 zhí执 xíng行 yǐ以 jí及 l s hé和 l s a mìng命 lìng令 shí时 shǐ使 yòng用 de的 zhí值 。
.open (Open Source File)
When you step through a program or break in after program execution, the previous lsp command determines the number of leading and trailing lines that are displayed. When you use lsa, the previous lsp -a command determines the number of leading and trailing lines that are displayed. When you use ls, all lines appear as a single block, so the previous lsp -a command determines the total number of lines that are displayed.
.open命令搜索源文件的源路径并打开此文件。
.open [-m Address] FileName
.open -a Address
参数:
- FileName
指定源文件名。此名称可以包含绝对路径或相对路径。除非指定绝对路径,否则该路径将被解释为相对于源路径中的目录。
- -m Address
指定源文件中的地址。此地址必须包含在已知模块中。如果filename指定的文件不唯一,则应使用-m address参数。 如果使用源服务器检索源文件,则需要-m参数。
-
-a Address
指定源文件中的地址。此地址必须包含在已知模块中。如果调试器可以找到源文件,则调试器将加载并打开该文件,并突出显示与指定地址对应的行。如果调试器找不到源文件,则地址将显示在“反汇编”窗口中。
.srcpath, .lsrcpath (Set Source Path)
.srcpath和.lsrcpath命令设置或显示源文件搜索路径。
.srcpath[+] [Directory [; ...]]
.lsrcpath[+] [Directory [; ...]]
参数:
- +
指定新目录将附加到(而不是替换)上一个源文件搜索路径。 - Directory
指定要放入搜索路径中的一个或多个目录。如果未指定目录,则显示当前路径。用分号分隔多个目录。
.srcpath命令在所有调试器上都可用。.lsrcpath命令仅在windbg中可用,不能在脚本文件中使用。如果源路径中包含srv*,调试器将使用srcsrv从目标模块符号文件中指定的位置检索源文件。从调试客户端发出此命令时,.srcpath设置调试服务器上的源路径,.lsrcpath设置本地计算机上的源路径。
.srcfix, .lsrcfix (Use Source Server)
.srcfix和.lsrcfix命令自动设置源路径,以指示将使用源服务器。
.srcfix[+] [Paths]
.lsrcfix[+] [Paths]
参数:
- +
使现有源路径保持不变,并将srv*追加到末尾。如果未使用+号,则替换现有源路径。 - Paths
指定要附加到新源路径末尾的一个或多个附加路径。
.srcfix命令在所有调试器上都可用。.lsrcfix命令仅在windbg中可用,不能在脚本文件中使用。将srv*添加到源路径时,调试器使用srcsrv从目标模块符号文件中指定的位置检索源文件。在源路径中使用srv*与在符号路径中使用srv*有本质的不同。在符号路径中,可以指定符号服务器位置以及srv*(例如,.sympath srv*http://msdl.microsoft.com/download/symbols)。在源路径中,srv*是独立的,用分号与所有其他元素分隔开。从调试客户端发出此命令时,.srcfix将源路径设置为使用调试服务器上的源服务器,而.lsrcfix在本地计算机上执行相同的操作。这些命令与.srcpath(set source path)和.lsrcpath(set local source path)命令相同,后面跟着srv*source path元素。因此,以下两个命令是等效的:
.srcfix[+] [Paths]
.srcpath[+] srv*[;Paths]
类似地,以下两个命令是等效的:
jiàng将 s r v * tiān添 jiā加 dào到 yuán源 lù路 jìng径 shí时 , tiáo调 shì试 qì器 shǐ使 yòng用 s r c s r v cóng从 mù目 biāo标 mó模 kuài块 fú符 hào号 wén文 jiàn件 zhōng中 zhǐ指 dìng定 de的 wèi位 zhi置 jiǎn检 suǒ索 yuán源 wén文 jiàn件 。 zài在 yuán源 lù路 jìng径 zhōng中 shǐ使 yòng用 s r v * yǔ与 zài在 fú符 hào号 lù路 jìng径 zhōng中 shǐ使 yòng用 s r v * yǒu有 běn本 zhì质 de的 bù不 tóng同 。 zài在 fú符 hào号 lù路 jìng径 zhōng中 , kě可 yǐ以 zhǐ指 dìng定 fú符 hào号 fú服 wù务 qì器 wèi位 zhi置 yǐ以 jí及 s r v * ( lì例 rú如 , . s y m p a t h s r v * h t t p : / / m s d l . m i c r o s o f t . c o m / d o w n l o a d / s y m b o l s ) 。 zài在 yuán源 lù路 jìng径 zhōng中 , s r v * shì是 dú独 lì立 de的 , yòng用 fēn分 hào号 yǔ与 suǒ所 yǒu有 qí其 tā他 yuán元 sù素 fēn分 gé隔 kāi开 。
.lsrcfix[+] [Paths]
.lsrcpath[+] srv*[;Paths]
.srcnoisy (Noisy Source Loading)
When this command is issued from a debugging client, .srcfix sets the source path to use a source server on the debugging server, while .lsrcfix does the same on the local machine.
.srcnoisy命令控制源文件加载的详细级别。
.srcnoisy [Options]
参数:
-
Options
可以是以下任一选项:
0
禁止显示多出的信息。1
显示源文件加载和卸载的进度有关的信息。2
显示的符号文件加载和卸载进度有关的信息。3
显示通过选项 1 和 2 显示的所有信息。
cóng从 tiáo调 shì试 kè客 hù户 duān端 fā发 chū出 cǐ此 mìng命 lìng令 shí时 , . s r c f i x jiāng将 yuán源 lù路 jìng径 shè设 zhì置 wéi为 shǐ使 yòng用 tiáo调 shì试 fú服 wù务 qì器 shàng上 de的 yuán源 fú服 wù务 qì器 , ér而 . l s r c f i x zài在 běn本 dì地 jì计 suàn算 jī机 shàng上 zhí执 xíng行 xiāng相 tóng同 de的 cāo操 zuò作 。
These commands are the same as the .srcpath (Set Source Path) and .lsrcpath (Set Local Source Path) commands followed by the srv* source path element. Thus, the following two commands are equivalent:
如果没有参数,.srcnoisy将显示噪声源加载的当前状态。噪声源加载不应与噪声符号加载混淆--噪声符号加载由控制!sym noise扩展和通过其他方式控制symopt_调试设置。