我正在嘗試在Eclipse CDT版本6.02中使用gdb/mi調試器。在我調試時,我可以輕鬆地完成程序,直到遇到以下代碼塊的代碼片段。Eclipse CDT調試器問題,v。.metadata不存在
ENUM_START_TYPE My_Class::some_function(const char * c, const char * e)
{
ENUM_START_TYPE result = GENERIC_ENUM_VALUE;
if (c[0] == '<')
{
result = do_something()
}
...
MORE CODE
...
return result;
}
當調試器到達這一行時。
if (c[0] == '<')
它開始探索的代碼段,它無法找到,直到它打開包含/projectname/.metadata一個標籤,簡單地宣佈:
"Resource '/project_name/.metadata' does not exist.
此時調試器終止與程序沒有理由爲什麼。
我想要做的就是跨越這行代碼,因爲它確實和比較字符一樣微不足道。
我的問題是:爲什麼會發生這種情況?這與調試器有關嗎?還是它與我的代碼有關,或者與我的代碼有什麼關係。另外,什麼是.metadata,爲什麼當它清晰存在時我不能定位和打開該文件(我可以在沒有問題的情況下找到並打開.meta文件)。
可能相關的其他信息:文件位於明文快照視圖中,但未檢入源代碼管理。我不認爲這會導致這樣的錯誤,但明確的情況已經給我帶來了如此多的隨機錯誤,我認爲這值得一提。
在此先感謝
更新:我已經測試了clearcase快照之外的問題,並且問題仍然存在。作爲一些額外的信息,當我在調試時,我可以「觀察」c的內容。變量c只包含從文件讀入的1024字節字符串。所以問題仍然沒有解決。 – 2010-06-04 15:05:23