📄 book_text11.htm
字号:
</O:P></SPAN></SPAN></P>
<P style="TEXT-INDENT: 21pt; mso-line-height-alt: 1.3pt"><SPAN
style="mso-bidi-font-size: 10.0pt; mso-hansi-font-family: Times New Roman">首先我们介绍与位置有关的断点。</SPAN></P>
<P style="TEXT-INDENT: 21pt; mso-line-height-alt: 1.3pt"><SPAN
style="mso-bidi-font-size: 10.0pt; mso-hansi-font-family: Times New Roman"><SPAN
lang=EN-US
style="mso-bidi-font-size: 10.0pt; mso-hansi-font-family: Times New Roman">1、<SPAN
style="FONT-WEIGHT: normal; FONT-STYLE: normal; FONT-VARIANT: normal; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: Times New Roman">
</SPAN>最简单的是设置一般位置断点,你只要把光标移到你要设断点的位置,当然这一行必须包含一条有效语句的;然后按工具条上的add/remove
breakpoint 按钮或按快捷键F9;这时你将会在屏幕上看到在这一行的左边出现一个红色的圆点表示这二设
立了一个断点。</SPAN></SPAN></P>
<P class=MsoNormal
style="TEXT-ALIGN: center; mso-line-height-alt: 1.3pt"
align=center><SPAN style="mso-ignore: vglayout"><IMG height=255
src="book_text11.files/book_t3.gif" width=341
v:shapes="_x0000_s1027"></SPAN><SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'"><BR>图<SPAN
lang=EN-US>4.3<O:P> </O:P></SPAN></SPAN></P>
<P class=MsoNormal style="mso-line-height-alt: 1.3pt"><SPAN
lang=EN-US
style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'"> <O:P>
</O:P></SPAN></P>
<P class=MsoNormal
style="TEXT-INDENT: 21pt; mso-line-height-alt: 1.3pt"><SPAN
lang=EN-US
style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'">2</SPAN><SPAN
lang=EN-US style="FONT-SIZE: 10.5pt; mso-bidi-font-size: 10.0pt">
</SPAN><SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'">、有的时候你可能并不需要程序每次运行到这儿都停下来,而是在满足一定条件的情况下才停下来,这时你就需要设置一种与位置有关的逻辑断点。要设置这种断点我们只需要从<SPAN
lang=EN-US>EDIT
菜单中选中breakpoint命令,这时Breakpoint对话框将会出现在屏幕上。选中Breakpoint对话框中的LOCATION标签,使LOCATION
页面弹出,如图4.4</SPAN></SPAN></P>
<P align=center><!--[if gte vml 1]></O:WRAPBLOCK><![endif]--><BR
style="mso-ignore: vglayout" clear=all><SPAN
style="mso-ignore: vglayout"><IMG height=249
src="book_text11.files/book_t4.gif" width=364
v:shapes="_x0000_s1028"></SPAN><SPAN lang=EN-US
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'"><BR>图4.4<O:P>
</O:P></SPAN>
<P><SPAN lang=EN-US
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'"><SPAN
style="mso-spacerun: yes">
</SPAN>单击condition按钮,弹出Breakpoint对话框,在Expression编辑框中写出你的逻辑表达式,如X>=3或a+b>25,最后按OK返回。</SPAN></P>
<P class=MsoNormal style="mso-line-height-alt: 1.3pt"
align=center><SPAN style="mso-ignore: vglayout"><IMG height=242
src="book_text11.files/book_t5.gif" width=355
v:shapes="_x0000_s1029"></SPAN><SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'"><BR>图<SPAN
lang=EN-US>4.5</SPAN></SPAN></P>
<P class=MsoNormal
style="TEXT-INDENT: 21pt; mso-line-height-alt: 1.3pt"><SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'">这种断点主要是由其位置发生作用的,但也结合了逻辑条件,使之更灵活。<SPAN
lang=EN-US><O:P> </O:P></SPAN></SPAN></P>
<P class=MsoNormal
style="TEXT-INDENT: 21pt; mso-line-height-alt: 1.3pt"><SPAN
lang=EN-US
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'">3、有时我们需要更深入地调试程序,我们需要进入程序的汇编代码,因此我们需要在在汇编代码上设立断点:要设立这种断点我们只需从View菜单中选Debug
window命令 ,</SPAN></P>
<P align=center><SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'"><IMG
height=266 src="book_text11.files/book_t6.jpg" width=354
border=0><BR>图<SPAN lang=EN-US>4.6</SPAN></SPAN><SPAN lang=EN-US
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><BR
style="PAGE-BREAK-BEFORE: always" clear=all></SPAN></P>
<P class=MsoNormal
style="TEXT-INDENT: 21pt; mso-line-height-alt: 1.3pt"
align=left> </P>
<P class=MsoNormal
style="TEXT-INDENT: 21pt; mso-line-height-alt: 1.3pt" align=left><BR
style="mso-ignore: vglayout" clear=all> <SPAN
lang=EN-US
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'">再选Disassembly子命令,这时汇编窗口将会出现在屏幕上。</SPAN></P>
<P align=center><SPAN style="mso-ignore: vglayout"><IMG height=275
src="book_text11.files/book_t7.gif" width=366
v:shapes="_x0000_s1030 _x0000_s1031"></SPAN><BR><SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'">图<SPAN
lang=EN-US>4.7</SPAN></SPAN></P>
<P class=MsoNormal
style="TEXT-INDENT: 21pt; mso-line-height-alt: 1.3pt"><SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'">在图<SPAN
lang=EN-US>4.7中的汇编窗口中你将看到对应于源程序的汇编代码,其中源程序是用黑体字显示,下面是且对应的汇编代码。要设立断点,我们只需将光标移到你想设断点处然后点击工具条上的Insert/Remove
Breakpoints 按钮,此后你将会看到一个红圆点出现在该汇编代码的右边。<O:P>
</O:P></SPAN></SPAN></P>
<P align=center><SPAN style="mso-ignore: vglayout"><IMG height=278
src="book_text11.files/book_t8.gif" width=370
v:shapes="_x0000_s1032"></SPAN><BR><SPAN lang=EN-US
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'">图4.8<O:P>
</O:P></SPAN></P>
<P class=MsoNormal
style="TEXT-INDENT: 21.75pt; mso-line-height-alt: 1.3pt; tab-stops: list 54.0pt"><SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'">上面所讲的断点主要是由于其位置发挥作用的,即当程序运行到设立断点的地方时程序将会停下来。但有时我们设立只与逻辑条件有关的断点,而与位置无关。所以下面介绍一下与逻辑条件有关的断点。<SPAN
lang=EN-US><O:P> </O:P></SPAN></SPAN></P>
<P class=MsoNormal
style="TEXT-INDENT: 21.75pt; mso-line-height-alt: 1.3pt; tab-stops: list 54.0pt; mso-outline-level: 1"><SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'">(<SPAN
lang=EN-US>1)逻辑条件触发断点的设置:<O:P> </O:P></SPAN></SPAN></P>
<P class=MsoNormal
style="MARGIN-LEFT: 63.25pt; TEXT-INDENT: -21.25pt; mso-line-height-alt: 1.3pt; tab-stops: list 21.25pt; mso-list: l46 level1 lfo53"><SPAN
lang=EN-US
style="FONT-SIZE: 10.5pt; FONT-FAMILY: Wingdings; mso-bidi-font-size: 10.0pt">l<SPAN
style="FONT: 7pt 'Times New Roman'">
</SPAN></SPAN><SPAN lang=EN-US
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'">从EDIT
菜单中选中breakpoint命令,这时屏幕上将会出现Breakpoint对话框。</SPAN>
<P align=center><SPAN style="mso-ignore: vglayout"><IMG height=255
src="book_text11.files/book_t9.gif" width=373
v:shapes="_x0000_s1033"></SPAN><SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'"><BR>图<SPAN
lang=EN-US>4.9</SPAN></SPAN><SPAN lang=EN-US
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'"> <O:P>
</O:P></SPAN></P>
<P class=MsoNormal
style="MARGIN-LEFT: 63.25pt; TEXT-INDENT: -21.25pt; mso-line-height-alt: 1.3pt; tab-stops: list 21.25pt; mso-list: l95 level1 lfo54"><SPAN
lang=EN-US
style="FONT-SIZE: 10.5pt; FONT-FAMILY: Wingdings; mso-bidi-font-size: 10.0pt">l<SPAN
style="FONT: 7pt 'Times New Roman'">
</SPAN></SPAN><SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'">选中<SPAN
lang=EN-US>Breakpoint对话框中的DATA标签,对应的页面将会弹出</SPAN></SPAN></P>
<P class=MsoNormal style="mso-line-height-alt: 1.3pt"
align=center><SPAN style="mso-ignore: vglayout"><IMG height=250
src="book_text11.files/book_t10.gif" width=367
v:shapes="_x0000_s1034"></SPAN><SPAN lang=EN-US
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: Times New Roman"><BR><O:P></O:P></SPAN><SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'">图<SPAN
lang=EN-US>4.10</SPAN></SPAN></P>
<P class=MsoNormal
style="MARGIN-LEFT: 63.25pt; TEXT-INDENT: -21.25pt; mso-line-height-alt: 1.3pt; tab-stops: list 21.25pt; mso-list: l29 level1 lfo55"><SPAN
lang=EN-US
style="FONT-SIZE: 10.5pt; FONT-FAMILY: Wingdings; mso-bidi-font-size: 10.0pt">l<SPAN
style="FONT: 7pt 'Times New Roman'">
</SPAN></SPAN><SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'">在图<SPAN
lang=EN-US>4.10的DATA页面中的Expression编辑框中写出你的逻辑表达式,如(X==3);</SPAN></SPAN></P>
<P align=center><SPAN style="mso-ignore: vglayout"><IMG height=235
src="book_text11.files/book_t11.gif" width=343
v:shapes="_x0000_s1035"></SPAN><SPAN lang=EN-US
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'"><BR>图4.11<O:P>
</O:P></SPAN></P>
<P class=MsoNormal
style="MARGIN-LEFT: 63.25pt; TEXT-INDENT: -21.25pt; mso-line-height-alt: 1.3pt; tab-stops: list 21.25pt; mso-list: l37 level1 lfo56"><SPAN
lang=EN-US
style="FONT-SIZE: 10.5pt; FONT-FAMILY: Wingdings; mso-bidi-font-size: 10.0pt">l<SPAN
style="FONT: 7pt 'Times New Roman'">
</SPAN></SPAN><SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'">最后按<SPAN
lang=EN-US>OK返回。<O:P> </O:P></SPAN></SPAN></P>
<P class=MsoNormal
style="MARGIN-LEFT: 1cm; mso-line-height-alt: 1.3pt"><SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'">其他几种断点的设置的方法都与之类似。我们一一加以说明。<SPAN
lang=EN-US><O:P> </O:P></SPAN></SPAN></P>
<P class=MsoNormal
style="MARGIN-LEFT: 21pt; mso-line-height-alt: 1.3pt; mso-outline-level: 1"><SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'">(<SPAN
lang=EN-US>2)监视表达式发生变化断点:<O:P> </O:P></SPAN></SPAN></P>
<P class=MsoNormal
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -