獨立寒秋,湘江北去,橘子洲頭。
目錄
問題 1 :
????????無法查看或者打開 PDB 文件。
問題 2 :
????????命令提示符中查看運行結果,控制臺閃退。
問題 3 :
????????某功能的判斷條件:int val > 1e9,邏輯上沒有問題,但是結果卻所求不如愿?
問題 4 :
? ? ? ? IDE 報錯,發生了 LoaderLock。
問題 5 :
????????Cannot open include file: 'resource.h'。
問題 1 :
????????無法查看或者打開 PDB 文件。
解決方案:
工具 >> 選項 >> 調試 >> 符號 >> Microsoft 符號服務器。
問題 2 :
????????命令提示符中查看運行結果,控制臺閃退。
解決方案(兩種):
1)項目 >> 屬性 >> 配置屬性 >> 鏈接器 >> 系統 >> 子系統,然后點擊 Ctrl+F5。
2)直接在 main() 中添加代碼:system("pause");,點擊 F5 或者 Ctrl+F5 都可以停留控制臺。
問題 3 :
????????某功能的判斷條件:int val > 1e9,邏輯上沒有問題,但是結果卻所求不如愿?
解決方案:
邏輯上沒問題的時候,換一種思路,1e9 屬于大數值,觀察變量的數據類型的取值范圍是否符合要求。現實確實如此,int 類型的數值范圍不如愿,定義 int64 或者 Long Long 類型即可。
- UInt 類型的取值范圍:0 ~ 4 294 967 295
- Int 類型的取值范圍:-2 147 483 647 ~ 2 147 483 647
- Long Long 類型和 int64 類型的取值范圍相同:-9 223 372 036 854 775 808 ~ 9 223 372 036 854 775 808
注:Qt 項目中,QString >>> int64 的轉換代碼:qint64 val = text.toLongLong(&ok);
問題 4 :
? ? ? ? IDE 報錯,發生了 LoaderLock。
解決方案:
調試->異常->Managed Debuggin Assistants->LoaderLock(非選中狀態)。
問題分析:
“.NET2.0”?中增加了 42 種非常強大的調試助手 (MDA) ,LoaderLock 是其中之一。LoaderLock 檢測在一個擁有操作系統 loader lock 的線程上運行托管代碼的情況。這樣做有可能會引起死鎖,并且有可能在操作系統加載器初始化 DLL 前被使用。
問題 5 :
????????Cannot open include file: 'resource.h'。
解決方案:
- 在 vs?中創建的新項目通常會生成一個默認的 resource.h 文件,用于定義 .rc(資源配置)文件中使用的資源 ID。
- 一般情況下不會找不到 resource.h 文件,但是,如果從 svn 上下載非本人的源碼,可能會出現這個問題。
- 具體方法:刪除 .rc 資源文件,重新創建一個相同名稱的 .rc 資源文件,即可解決問題。
>>> 如有疑問,歡迎評論區一起探討。