我正在尝试在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