debug 選單中的選單命令和功能
選單命令
快捷鍵功能
gof5
開始或繼續除錯程式,到某個斷點,程式的結束或需要使用者輸入的地方停止
restart
ctrl+shift+f5
重新開始執行程式,並處於除錯狀態
stop debugging
shift+f5
終止程式的除錯,放回到程式編輯的狀態
break
在當前位置暫停程式的執行
step into
f11單步執行程式的每乙個指令,能進入被呼叫的函式內部
step over
f10單步執行,當遇到乙個函式的呼叫時,該函式被執行,單並不進入該函式內部
step out
shift+f10
執行到當前函式呼叫返回後的第一條語句;
使用這個命令能在已確定錯誤不在當前函式中時,快速地執行完此函式
run to cursor
ctrl+f10
程式執行到當前游標處,相當於在游標處臨時設定了乙個端點
step into specific function
執行程式的每一步,並進入指定的函式呼叫,這個命令可以跟蹤任意多的巢狀函式
variable (變數)視窗
context (上下文)下拉框:在這裡選擇想要檢視的函式,然後 debug 會在視窗顯示函式區域性變數的當前值。該視窗有 3 個選項卡。
watch 視窗用於觀察和修改變數或表示式的值。它有 watch1、watch2、watch3 和 watch4 等 4 個選項卡,在每個選項卡中,使用者都必須手工設定要觀察的變數或表示式。
為了快速查詢程式設計中的錯誤,mfc 提供了一些跟蹤和斷言巨集,其中常用的有 trace()、assert()、assert_valid()等。
1.trace()巨集
trace()巨集在除錯視窗輸出變數數值,它採用類似於 printf()函式和 cstring::format()成員函式的字串格式化語法,在 trace()巨集中,可以使用各種 mfc 類。例如
int m_age = 23;
cstring m_name("yiding");
trace("name = %s, age = %d\n", m_name, m_age);
除錯視窗輸出下列語句並換行
name = yiding, age =23
2.assert()巨集
assert()巨集語法如下:
asser(《條件表示式》);
如果條件表示式為真,則程式繼續執行;如果為假,則在該語句處終止程式執行,並彈出乙個對話方塊,顯示程式終止的行及所在檔案資訊下面一段**展示了如何使用 assert()巨集來校驗傳遞進來的引數。
void test(char* p, int size)
3.assert_valid()
assert_valid()巨集語法如下:
assert_valid(《指標》);
assert_valid()紅用於檢查指標和物件的有效性,對於一般指標,只檢查指標是否為空。對於 mfc 指標,還需呼叫cobject::assertvalid()成員函式,判斷物件合法性。assert_valid()巨集提示指標和物件無效的方式與 assert()巨集一樣,使用提示對話方塊輸出錯誤資訊。
assert_valid()巨集對於 cobject 派生類的校驗更為簡單。例如:
void cmview::test(cyview* pview) //cmview 和 cyview 是 cobject 的派生類
4.dump()除錯函式
dump()函式是 cobject 類的乙個成員函式,呼叫該函式可以輸出物件內部資料成員的值。當程式除錯過程中希望檢查物件內部狀態時,該函式是非常有用的。dump()函式使用「<<」插入操作符輸出資料成員值。例如:
void cage::dump(cdumpcontext &dc) const
MFC中的選單
mfc的選單 1.相關類 cmenu類 封裝了選單控制代碼以及操作選單的api函式.2.cmenu類的使用.新增選單資源 載入選單資源 cmenu loadmenu 將選單新增到視窗 cwnd setmenu 3.cmenu的選單處理 on command on update command ui ...
qt中的選單QMenu QAction
qt中要建立選單,有三個類很重要 qmenubar qwidget parent 0 qmenu qwidget parent 0 qmenu const qstring title,qwidget parent 0 qaction qobject parent qaction const qstr...
Vs自定nuget push選單
1 net framework 需要準備 nuget.exe 和 nuget push.cmd 命名行 nuget 命令列 apikey 對應的key src 對應的位址 2 net core 不需要nuget.exe nuget 命令列 3.編輯vs 配置外部工具 配置自定義選單 右鍵專案屬性設定...