亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ape.htm

?? 這是一本關于VC++自學教程的書籍 對于初學者以及編程有一定基礎的人均有幫助
?? HTM
?? 第 1 頁 / 共 4 頁
字號:
		<TD ALIGN="LEFT">This stops the debugger and returns to editing mode.		</TD>	</TR>	<TR ALIGN="LEFT" VALIGN="TOP">		<TD WIDTH="134" ALIGN="LEFT"><IMG SRC="ic-07.gif" WIDTH="24" HEIGHT="27" ALIGN="BOTTOM" BORDER="0"> Restart		</TD>		<TD ALIGN="LEFT">Ctrl+Shift+F5		</TD>		<TD ALIGN="LEFT">This option restarts the program from the beginning, stopping at the very first line			of code.		</TD>	</TR>	<TR ALIGN="LEFT" VALIGN="TOP">		<TD WIDTH="134" ALIGN="LEFT"><IMG SRC="ic-09.gif" WIDTH="29" HEIGHT="28" ALIGN="BOTTOM" BORDER="0"> Break Execution		</TD>		<TD ALIGN="LEFT">			<P>		</TD>		<TD ALIGN="LEFT">This option stops a program running at normal speed in its tracks.		</TD>	</TR>	<TR ALIGN="LEFT" VALIGN="TOP">		<TD WIDTH="134" ALIGN="LEFT"><IMG SRC="ic-10.gif" WIDTH="29" HEIGHT="28" ALIGN="BOTTOM" BORDER="0"> Apply Code			Changes		</TD>		<TD ALIGN="LEFT">Alt+F10		</TD>		<TD ALIGN="LEFT">This option lets you compile the code after making changes during a debugging session			and then continue debugging from where you left off.		</TD>	</TR></TABLE></P><P>By using these options, you can watch the flow of your program and see the contentsof the variables as they are manipulated by the code. The yellow arrow in the Editorwindow will always show the next statement to be executed.</P><P>The next sections describe some of the debugging windows you can use when youare stopped in the debugger.</P><P><H3><A NAME="Heading12"></A>Using Edit and Continue</H3><P>A great new feature of Visual C++ 6 is the capability to Edit and Continue. Thismeans that you can change or edit the code while you are stopped in the debugger.After editing, you'll notice the Debug menu's Apply Code Changes option becomes enabled(as well as the corresponding debug toolbar icon). You can then select the ApplyCode Changes option (or toolbar button) to compile your new code changes and thencontinue debugging the new changed code. By using this new feature, you can fix bugswhile debugging and continue the debug run from the same place in the code with thesame variable settings, which can be very useful when debugging large and complexprograms.</P><P><H3><A NAME="Heading13"></A>Watching Program Variables</H3><P>The Watch and Variables windows are shown in Figure E.11. These windows displaythe contents of variables when stopped in the debugger. You can view these windowsby clicking the View menu and selecting them from the Debug Windows pop-up menu orby clicking the icons from the toolbar.</P><P><A HREF="javascript:popUp('30fig11r.gif')"><B>FIGURE E.11.</B></A><B> </B><I>TheWatch window displays contents of variables while debugging.</I></P><P>The Variables window always shows the local variables of the function displayedin the Context combo box at the top of the window. To get to your current function,you can drop this combo box list to display all the functions that were called inturn. This is the call stack and shows your current context within the program byshowing the list of functions that have been called in order to get to the program'scurrently executing function where the debugger has stopped. When you select a differentfunction, the relevant local variables are shown for that function level.</P><P>You can expand any object pointers shown by clicking the plus symbol next to thepointer name. The special C++ this pointer is always shown for class member functionsand can be opened to show all the member variables for the current object.</P><P>The Watch window lets you enter variable names from the keyboard or drag variablenames from the editor window (after selecting and inverting them with the mouse point).The values that are held in the displayed variables are shown until they go out ofscope (that is, aren't relevant to the function currently being debugged).</P><P>You can also enter simple casts and array indexes in the Watch window to showrelated values. Right-clicking the mouse can switch the displayed values betweenhexadecimal and decimal display. As you step through the program, the values shownin the Watch and Variable windows are updated accordingly so that you can track howthe program changes the variables.</P><P><H3><A NAME="Heading14"></A>Other Debugger Windows</H3><P>Other debugging display windows are available by clicking the View menu and selectingthem from the Debug Windows pop-up menu or alternatively by clicking the variousicons shown to the right of the Debug toolbar. These windows are</P><P><UL>	<LI>QuickWatch. By clicking a variable in the listing and choosing QuickWatch or	pressing Shift+F9, you can display the contents of the select variable. You can also	enter variables directly and then click the Add Watch button to transfer them into	the main Watch window.	<P>	<LI>Registers. The Registers window displays the current values in your CPU's register	set. This probably isn't too useful to you unless you are tracking machine or assembly	code-level problems.	<P>	<LI>Memory. The Memory window displays the memory from the application's address	space in columns that represent the address, the hex values, and the character values	for each 8 bytes. You can change this display to show Byte, Short, or Long values	by right-clicking to display the appropriate context menu options.	<P>	<LI>Call Stack. The Call Stack window shows the list of functions that were called	in order to get to your current function and the parameter values that were passed	to each function. This can be very useful to investigate how the program flow reached	a specific function. By double-clicking any of the listed functions, you can display	the position where the function call was made in the code, shown by the Editor window.	<P>	<LI>Where source code isn't available, function entries are shown as follows:</UL><PRE>KERNEL32! bff88f75()</PRE><UL>	<LI>If you click these entries, you'll be shown assembly code rather than C++ code.	<P>	<LI>Disassembly. By selecting the Disassembly toolbar button or menu option, you	can toggle between displaying the C++ code mixed with assembly code or just C++ code.	Where the source code is unavailable, only assembly code is shown.</UL><H2><A NAME="Heading15"></A>Additional Debugging Tools</H2><P>Along with the integrated debugging tools are several nonintegrated but very usefultools. You can start these by clicking the Tools menu and selecting the specifictool option from the menu.</P><P>These tools generally let you track operating-specific items such as Windows messaging,running processes, and registered OLE objects to enhance your available informationwhile debugging your application.</P><P><H3><A NAME="Heading16"></A>Using Spy++</H3><P>Spy++ is undoubtedly one of the most useful of these tools. With Spy++, you cansee the hierarchical relationships of parent to child windows, the position and flagssettings for windows, and base window classes. You can also watch messages as theyare sent to a window.</P><P>When you first run Spy++, it shows all the windows on the current desktop, theirsiblings, and the base Windows class of each object (see Figure E.12). The view shownin Figure E.12 has been scrolled to shown the standard Microsoft Windows CD Player.Spy++ shows you all the buttons and combo boxes, which are windows in their own rightas child windows of the main CD Player window.</P><P><A HREF="javascript:popUp('30fig12.gif')"><B>FIGURE E.12.</B></A><B> </B><I>TheSpy++ initial view of the Windows desktop showing the CD Player portion.</I></P><P>If you click the Spy menu, you are shown the following options:</P><P><UL>	<LI>Messages. You might find that the Messages view is probably one of the most useful	options because you can use it to watch messages that are sent to any window (including	your own application). You can also filter these messages so that you don't receive	an avalanche of Mouse Movement messages.	<P>	<LI>To use messages, select this option to display the Message Options dialog box	shown in Figure E.13. You can then drag the finder tool over any window in the system,	displaying the details of the window as it moves. Spy++ also highlights the selected	window, so you can see frame and client windows. When you've located the window you	want to view, just let go of the tool. At this point you can use the other tabs to	set filtering options and output formatting options. When you're finished, click	OK to close the Message Options box.</UL><P><A HREF="javascript:popUp('30fig13.gif')"><B>FIGURE E.13.</B></A><B> </B><I>Usingthe Spy++ Message Options Finder to locate windows.</I></P><P><I></I><UL>	<LI>The output shown in Figure E.14 are the messages produced from using a normal	SDI application's toolbar. As you can see, with no filtering you'll receive many	mouse movements and cursor check messages, but you can also see the familiar WM_LBUTTONUP	message with its position parameters.</UL><P><A HREF="javascript:popUp('30fig14.gif')"><B>FIGURE E.14.</B></A><B> </B><I>WindowsMessages for a toolbar logged by Spy++.</I></P><P><I></I></P><UL>	<LI>Windows. The Windows view is the view shown in Figure E.12 of the layout and	structure of the Windows desktop. If you double-click any of these windows, you'll	be shown a property sheet containing all the selected windows' positioning information	and flag settings. To update this information, you must click the Windows menu and	choose Refresh.	<P>	<LI>Processes. You can view all the running programs with the Processes view. These	can be opened to show each thread and any windows attached to those threads.	<P>	<LI>Threads. The Threads option shows the same details without the processes level	of hierarchy, so you can see every thread running on your machine and the windows	that each thread owns.</UL><P>Spy++ is too sophisticated to cover in its entirety here, but as a tool for understandingthe structure of Windows hierarchies and messaging, it is unsurpassed. You can gleana lot of valuable knowledge just by looking at commercial applications with Spy++.It is also a wonderful tool for debugging messaging problems in your own applicationto ensure that your windows are getting the correct messages and to see how thesemessages are sequenced.</P><P><H3><A NAME="Heading17"></A>Process Viewer</H3><P>You can see all the processes in more detail than shown in Spy++ with the ProcessViewer (PView95.exe). You can start this application from your system's main WindowsStart menu from Programs under the Microsoft Visual Studio 6.0 Tools option (or similarprogram group). This application lists the processes running on your machine andlets you sort them by clicking any of the column headers. You can then click a processto display all its threads. Figure E.15 shows Process Viewer running with the DeveloperStudio application (MSDEV.EXE) selected and all its many threads displayed.</P><P><A HREF="javascript:popUp('30fig15.gif')"><B>FIGURE E.15.</B></A><B> </B><I>TheProcess Viewer showing MSDEV.EXE and its threads.</I></P><P><I></I><H3><A NAME="Heading18"></A>The OLE/COM Object Viewer</H3><P>The OLE/COM Object Viewer tool shows you all the registered OLE/COM objects onyour system, including ActiveX controls, type libraries, embeddable objects, automationobjects, and many other categories.</P><P>You can even create instances of various objects and view their interfaces indetail. The OLE/COM Object Viewer is very useful if you are developing an OLE/COMapplication or looking for an elusive ActiveX control.</P><P><H3><A NAME="Heading19"></A>The MFC Tracer</H3><P>Using the MFC Tracer tool shown in Figure E.16, you can stop the normal tracingor add specific Windows trace output to the normal program trace output. When youselect this tool, you are shown a set of check boxes that you can check or uncheckto include that tracing option.</P><P><A HREF="javascript:popUp('30fig16.gif')"><B>FIGURE E.16.</B></A><B> </B><I>TheMFC Tracer tool options.</I></P><P>You can add Windows messages, database messages, OLE messages, and many otherlevels of trace output to help track down elusive problems. These messages are thengenerated by the MFC code for the various selected flags.</P><P>You can even turn off the standard tracing generated by your application by uncheckingthe Enable Tracing option.</P><H1></H1><CENTER><P><HR><A HREF="../apd/apd.htm"><IMG SRC="../button/previous.gif" WIDTH="128" HEIGHT="28"ALIGN="BOTTOM" ALT="Previous chapter" BORDER="0"></A><A HREF="../apf/apf.htm"><IMGSRC="../button/next.gif" WIDTH="128" HEIGHT="28" ALIGN="BOTTOM" ALT="Next chapter"BORDER="0"></A><A HREF="../index.htm"><IMG SRC="../button/contents.gif" WIDTH="128"HEIGHT="28" ALIGN="BOTTOM" ALT="Contents" BORDER="0"></A> <BR><BR></P><P>&copy; <A HREF="../copy.htm">Copyright</A>, Macmillan Computer Publishing. Allrights reserved.</CENTER></BODY></HTML>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美三级蜜桃2在线观看| 亚洲欧洲韩国日本视频| 国产午夜精品美女毛片视频| 亚洲精品欧美综合四区| 久久99国产精品尤物| 色综合一区二区三区| 欧美大片在线观看一区二区| 亚洲欧美成aⅴ人在线观看| 黄页视频在线91| 欧美日韩午夜在线视频| 欧美激情一区二区在线| 秋霞成人午夜伦在线观看| 色噜噜狠狠一区二区三区果冻| 精品国产一区二区三区不卡 | 日韩精品中文字幕一区二区三区 | 欧美mv日韩mv国产网站| 亚洲国产综合91精品麻豆| 国产69精品久久久久毛片| 日韩欧美123| 天天综合天天做天天综合| 91麻豆swag| 国产精品美女久久福利网站| 国产精品资源在线看| 欧美xxxxxxxx| 青娱乐精品在线视频| 欧美电影影音先锋| 婷婷国产v国产偷v亚洲高清| 欧美在线小视频| 亚洲色图制服丝袜| 99麻豆久久久国产精品免费优播| 国产女主播视频一区二区| 国产一区二区精品久久99| 欧美成人综合网站| 精品一区二区三区在线观看国产| 欧美一区在线视频| 美腿丝袜一区二区三区| 日韩午夜在线观看视频| 久久99国产精品免费网站| 精品国产乱码久久久久久1区2区 | 国产69精品一区二区亚洲孕妇| www激情久久| 国产乱国产乱300精品| 久久免费午夜影院| 狠狠色2019综合网| 久久一二三国产| 粉嫩欧美一区二区三区高清影视 | 日韩精品影音先锋| 国产一区不卡视频| 国产精品久久免费看| 91农村精品一区二区在线| 一区二区三区免费网站| 欧美日韩成人在线| 久久99最新地址| 国产欧美一区二区精品秋霞影院 | 欧美日韩一级视频| 日韩高清一区在线| 久久影院视频免费| aaa欧美大片| 三级不卡在线观看| 国产亚洲女人久久久久毛片| 色婷婷久久99综合精品jk白丝| 日韩免费福利电影在线观看| 国产一区二区三区免费在线观看| 欧美激情综合在线| 欧美日韩在线综合| 国产伦精品一区二区三区免费迷| 国产精品欧美一区喷水| 欧美午夜电影网| 国产一本一道久久香蕉| 亚洲丝袜自拍清纯另类| 日韩一区二区在线观看视频播放| 国产传媒一区在线| 亚洲一二三专区| 久久婷婷国产综合精品青草| 91国内精品野花午夜精品| 久久99国内精品| 亚洲最新在线观看| 日本一区二区三区免费乱视频| 精品视频在线看| 成人一区二区视频| 日本欧美一区二区| 亚洲精品国产无套在线观 | 91麻豆国产自产在线观看| 日本不卡不码高清免费观看| 中文字幕中文乱码欧美一区二区| 6080亚洲精品一区二区| a级精品国产片在线观看| 日韩精品欧美精品| 伊人色综合久久天天| 久久久久久久久久久电影| 欧美日韩亚洲高清一区二区| 99精品黄色片免费大全| 国产精品一区二区免费不卡| 日本午夜一区二区| 亚洲一卡二卡三卡四卡无卡久久| 欧美极品xxx| 国产视频一区二区在线观看| 欧美一区二区高清| 欧美日韩在线不卡| 色综合av在线| 91看片淫黄大片一级在线观看| 国产精品一线二线三线精华| 久久精品国产在热久久| 日韩av一区二区三区四区| 亚洲一区视频在线| 夜夜精品视频一区二区| 亚洲色图丝袜美腿| 亚洲欧美日韩久久| 亚洲婷婷国产精品电影人久久| 国产精品每日更新在线播放网址 | 欧美卡1卡2卡| 精品污污网站免费看| 欧美亚洲一区二区三区四区| 色综合中文字幕| 一本大道综合伊人精品热热| 91免费看`日韩一区二区| 不卡视频一二三四| 99精品久久99久久久久| 91亚洲精品久久久蜜桃网站| 不卡区在线中文字幕| 不卡av免费在线观看| www.亚洲免费av| 91丨porny丨国产| 99精品桃花视频在线观看| 99精品久久只有精品| 日本精品一级二级| 欧美日本一区二区三区四区| 777a∨成人精品桃花网| 欧美电影免费提供在线观看| 久久色.com| 国产精品久久久久7777按摩| 亚洲人成在线播放网站岛国 | 日韩国产精品久久久久久亚洲| 日韩主播视频在线| 久久69国产一区二区蜜臀| 国产麻豆精品在线观看| 成人免费视频一区| 一本色道久久综合亚洲aⅴ蜜桃| 欧美三区免费完整视频在线观看| 欧美福利视频导航| 久久丝袜美腿综合| 亚洲图片欧美激情| 日日骚欧美日韩| 国产精品18久久久久久久久久久久 | 国产91色综合久久免费分享| 色悠久久久久综合欧美99| 欧美精品一卡两卡| 久久精品一区蜜桃臀影院| 亚洲免费观看在线观看| 同产精品九九九| 国产精品99久久久久久久女警| 欧美综合欧美视频| 久久这里只精品最新地址| 亚洲综合男人的天堂| 国产综合色在线视频区| 色哟哟国产精品| 亚洲精品一线二线三线无人区| 日韩毛片精品高清免费| 日本不卡视频在线观看| 波多野结衣中文字幕一区二区三区| 欧美精品一二三| 国产精品乱码一区二区三区软件| 亚洲福利视频三区| 成人aaaa免费全部观看| 欧美一级日韩一级| 亚洲欧美色一区| 国产精品综合一区二区三区| 在线观看视频91| 国产精品免费aⅴ片在线观看| 欧美aaaaa成人免费观看视频| 99久久精品国产毛片| 精品99一区二区三区| 亚洲大尺度视频在线观看| 成人国产精品免费观看视频| 日韩免费观看高清完整版在线观看| 玉足女爽爽91| av电影在线观看一区| 精品国产一区a| 日本vs亚洲vs韩国一区三区二区 | 国产在线视频一区二区三区| 欧美日韩激情一区二区三区| 亚洲人成精品久久久久| 国产精品一卡二| 欧美精品一区二区在线观看| 婷婷开心激情综合| 欧美视频在线观看一区| 亚洲人123区| 91亚洲男人天堂| 国产精品久久久久aaaa樱花| 国产高清在线精品| www成人在线观看| 九一九一国产精品| 日韩一区二区电影在线| 亚洲国产精品一区二区www在线| 91污在线观看| 亚洲黄一区二区三区| 91久久久免费一区二区| 一区二区三区精品视频在线| 色婷婷久久99综合精品jk白丝| 亚洲狠狠丁香婷婷综合久久久|