您的位置: 旅游網 > 明星 >> 日韓娛樂

    小技巧偽符號覆蓋

    發布時間:2021-10-28 05:24:37

    (時光不顧我)。:。如果你想投資賺錢 我們在調用WINDOWS函數的時候,經常要在后面加一條GetLastError()來取得函數出錯的錯誤碼以及原因,如果在調試的狀態中,WINAPI出錯了,那我們又要停下來,加一句GetLastError(),然后再跑。這樣調試起來很不方便。其實我們可以使用VC里的一些固定符號來進行調試。

    下面說一下第一個@ERR,我們等函數執行完,并確定它出錯了,那我們就可以在VC 的 WATCH窗口里加上@ERR,那我們就馬上可以看到出錯的錯誤碼了。如果我們還想知道錯誤碼的意思,那我們可以加上@ERR,hr,這樣錯誤碼和出錯信息都清清楚楚的顯示出來了。

    這個調試方法是不是很棒?其實這種偽符號還有一個用處,在我們調試的過程中,我們可以利用這些偽符號設置斷點停止的條件。例如下面的兩行代碼:

    FILE *fp = fopen(\"c:\\\\a_file_that_does_not_t\", \"r\");

    int nT = 123;

    我們把斷點加在第二行上,然后按CTRL+B(或者ALT+F9或者Edit-Breakpoints),選中這個斷點,然后點Condition,輸入@ERR==2,按下 F5 來調試我們的程序,程序就會在@ERR為2的時候停在了斷點上。如果我們不想它為2的時候停止,我們就輸入@ERR!=2,爽吧,這種功能可以說有很多可應用的地方,具體就等各位去實戰了。

    除了@ERR之外,還有很多偽符號,例如@TIB,這是取得線程ID的符號,這個符號在多線程程序調試中可以發揮很大的作用。當我們有一個函數是被多個線程調用的,那當我們在這個函數里設一個斷點后,無論哪個線程調用這個函數,都會停止在這個斷點上。這個時候,如果我們想知道是哪個線程調用了它,我們就可以在WATCH窗口里寫下@TIB,就會看到類似于這種數字了。這個就是線程ID了(也可以是這種格式:0x7ffa6000),我們同樣可以在斷點管理的Condition 那里寫上@TIB==0x7ffa6000,這樣在其他線程調用這個函數時候不會停止,只有ID為0x7ffa6000的線程調用了,才會停止。

    上面介紹了兩個偽符號,其實還有很多,下面給出一個表格供各位參考:

    Complete list of pseudoregistersPseudoregister

    Description

    @ERR

    Last error value; the same value returned by the GetLastError() API function

    @TIB

    Thread information block for the current thread; necessary because the debugger doesn\'t handle the \"FS:0\" format

    @CLK

    Undocumented clock register; usable only in the Watch window

    @EAX, @EBX, @ECX, @EDX, @ESI, @EDI, @EIP, @ESP, @EBP, @EFL

    Intel CPU registers

    @CS, @DS, @ES, @SS, @FS, @GS

    Intel CPU segment registers

    @ST0, @ST1, @ST2, @ST3, @ST4, @ST5, @ST6, @ST7

    Intel CPU floating-point registers

    [Table from \"Debugging Applications\" by John Robbins]

    本文章參考了Code project 的一篇:An introduction to debugging in MSVC++ using Pseudoregisters

    查看本文來源

    武漢治療前列腺炎醫院
    兒童助消化藥大全
    長沙陰道炎治療哪家好
    猜你會喜歡的
    猜你會喜歡的
    主站蜘蛛池模板: 国产免费AV片无码永久免费| 好大好硬别停老师办公室视频 | 农民人伦一区二区三区| 午夜影院小视频| 天天爽夜夜爽夜夜爽| 久久久精品人妻一区亚美研究所| 欧美日韩在线一区| 午夜小视频在线| 高清成人爽a毛片免费网站| 国产高清免费的视频| 一级特黄性色生活片录像| 日韩精品久久久久久| 亚洲欧美自拍一区| 纯肉高H啪动漫| 国产在线精品国自产拍影院同性| 337p日本欧洲亚洲大胆人人 | 亚洲国产欧美在线看片一国产| 精品一区二区三区av天堂| 国产亚洲精久久久久久无码 | 黄色网站在线免费| 国产麻豆精品高清在线播放| 一级一级人与动毛片| 日本丰满熟妇BBXBBXHD| 亚洲人成人77777在线播放| 男人j桶进女人p无遮挡免费 | 国产一区二区三区日韩精品| 色视频线观看在线播放| 在线无码视频观看草草视频| 三级韩国一区久久二区综合| 日本漫画之无翼彩漫大全| 亚洲国产日韩在线人成下载 | 精品69久久久久久99| 国产亚洲欧美一区二区| 亚洲另类专区欧美制服| 国内揄拍国内精品| www夜夜操com| 文轩探花高冷短发| 久久国产精品无码一区二区三区| 欧美人与动性行为另类| 亚洲熟妇无码乱子av电影| 看看镜子里我怎么玩你|