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

    小技巧偽符號覆蓋

    發布時間: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爱片久久毛片a| 中国国语毛片免费观看视频| 欧美人与性动交α欧美精品图片| 又爽又黄又无遮挡的视频在线观看| 手机看片国产在线| 好男人看的视频2018免费| 久久青草精品38国产| 波多野结衣伦理视频| 国产v精品成人免费视频400条| 男女下面无遮挡一进一出| 天天摸日日摸人人看| 丰满人妻熟妇乱又伦精品视| xxxx日本视频| 男女下面一进一出视频在线观看| 国产大学生粉嫩无套流白浆| 99久久99久久精品国产片果冻 | 欧美国产综合在线| 国产亚洲欧美日韩在线观看一区二区 | 国产男人午夜视频在线观看| a亚洲Va欧美va国产综合| 最近中文字幕mv2018免费看| 国产亚洲精品拍拍拍拍拍| 99在线免费观看视频| 成人免费看黄20分钟| 久久国产高潮流白浆免费观看| 欧美性巨大欧美| 亚洲综合区图片小说区| 精品国产乱码一区二区三区| 国产凌凌漆国语| 欧美三级香港三级日本三级| 国产香蕉一区二区三区在线视频 | 免费被靠视频动漫| 蜜桃臀无码内射一区二区三区| 国产日韩在线视频| 2016天天干| 在线观看国产wwwa级羞羞视频| 七次郎最新首页在线视频| 日本xxxx色视频在线播放| 久久综合久久久| 欧洲肉欲K8播放毛片|