我使用下面的代碼並試圖通過按F10在Visual Studio 2008中進行調試。使用#line控制時調試器的奇怪行爲
//test.cpp
#include<iostream>
using namespace std;
int main(void)
{
#line 100 "test.cpp"
cout<<"Inside main()"<<endl;
return 0;
}
下面是調試器屏幕快照。
#行100告訴編譯器去排隊100,以獲取其下一行。 由於第100行不存在,它會在屏幕截圖所示的主函數之外。 如果我嘗試用F10調試代碼,控件永遠不會回到主函數。 儘管它正在執行main(),它仍然在主函數之外顯示指針。
如果我在的地方TEST.CPP的給其他的文件名,指針轉到該文件,但它不回來TEST.CPP
任何想法,爲什麼調試器的行爲就像這樣?
簡短的回答:不使用#行,除非你真的知道自己在做什麼:-D – 2010-09-19 20:28:49