我想調試我寫的一個小C++代碼。
它有幾個功能,都在同一個C++文件,像VS 2008 C++ debug:不顯示特定函數的局部變量?
static void b(int i) {
int k = i * 2;
}
static void a(int j) {
for(int l = 0; l < j ; l++) {
b(l + j);
}
}
int main(void) {
a(4);
return 0;
}
我編譯在調試模式下的代碼,我把一個破發點中的功能b
。 代碼編譯好,調試器在斷點處但
停止,當我試圖檢查的局部變量k
值我得到
CXX0017: Error: symbol "k" not found
我能看到的i
值 - 輸入參數。
而且,如果我在調用堆棧點擊調用函數a
我可以檢查有兩個參數變量j
和局部變量l
...
有沒有人碰到過這種奇怪的情況來的?
John,謝謝你的回答,但情況要複雜得多。我的代碼自然比我發佈的樣本更復雜,僅用於說明目的。我有很多局部變量** all **未在調試中顯示。這不是我第一次在VS中調試,這是我從來沒有遇到過的。很奇怪。不管怎麼說,還是要謝謝你。 – Shai
@Shai:你是不是在發佈模式下構建的?您是否在調試模式下啓用了優化? –
我想我知道了 - 我損壞了我的堆棧... – Shai