小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Visual Studio 調(diào)試小技巧(1)

 win2zhang 2014-08-04

在用Visual Studio調(diào)試程序時,我們經(jīng)常需要根據(jù)數(shù)值添加斷點。比如需要當i == 2時中斷運行,我們可以添加如下的斷點:

根據(jù)數(shù)值添加條件斷點 

 

有些時候,我們需要根據(jù)字符串的內(nèi)容來添加斷點。比如我們在調(diào)試如下代碼:

void CVSDebugTricksDlg::OnBnClickedButton1()

{

   char* string;

   for(int i = 0; i < 5; ++i) {

         string = GetString(i);

         TRACE(string);

   }

}

 

 

char* CVSDebugTricksDlg::GetString(int number)

{

   switch (number) {

   case 0:

         return "Zero";

   case 1:

         return "One";

   case 2:

         return "Two";

   default:

         return "Other";

   }

}

 

我們希望當運行到Trace(string)時,如果字符串string”Two”時能中斷運行。如果我們和根據(jù)數(shù)值添加斷點一樣的方法,添加如下斷點:

無效的根據(jù)字符串內(nèi)容設(shè)置條件斷點 

 

當我們運行上述代碼時,會發(fā)現(xiàn)即使string的內(nèi)容”Two”時,運行并沒有中斷。這是因為==運算符比較的是兩個字符串的地址而不是內(nèi)容,因此上述斷點并不能滿足我們的需求。

Visual Studio考慮到程序員經(jīng)常會根據(jù)字符串的內(nèi)容添加斷點,因此在添加斷點這個功能上為字符串做了特殊的支持。我們在根據(jù)字符串內(nèi)容添加斷點時,可以使用strcmp等函數(shù)來設(shè)置斷點。

于是在上述示例中,我們可以用strcmp函數(shù)來添加如下斷點:

 

有效的根據(jù)字符串內(nèi)容設(shè)置條件斷點

Visual Studio中的添加斷點功能中支持的字符串函數(shù)有:strlen, wcslen, strnlen, wcsnlen, strcmp, wcscmp, _stricmp, _wcsicmp, strncmp, wcsncmp, _strnicmp, _wcsnicmp, strchr, wcschr, strstr, wcsstr.

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多