C++ 调试器未命中断点
简单的代码,在这篇文章的主要底部有一行代码,然而VS2008将这行标记为不可访问!!! 谁能看一下,告诉我是怎么回事。 注意,如果我删除标记为//DELETED的行以在类阅读器中工作,那么这段代码会奇迹般地工作。尝试了很多东西,将调试器指向源代码等。以上所有方法都不起作用。 需要帮助 多谢各位 //AClass.hppC++ 调试器未命中断点,c++,debugging,C++,Debugging,简单的代码,在这篇文章的主要底部有一行代码,然而VS2008将这行标记为不可访问!!! 谁能看一下,告诉我是怎么回事。 注意,如果我删除标记为//DELETED的行以在类阅读器中工作,那么这段代码会奇迹般地工作。尝试了很多东西,将调试器指向源代码等。以上所有方法都不起作用。 需要帮助 多谢各位 //AClass.hpp class AClass { int x ; public: AClass(void); ~AClass(void); }; //AClass.
class AClass
{
int x ;
public:
AClass(void);
~AClass(void);
};
//AClass.cpp
#include "AClass.hpp"
AClass::AClass(void)
{
int a = 1;
if (a++)
{
a = a + 1;
}
else
{
a = a -1;
}
}
AClass::~AClass(void)
{
}
//Reader.hpp
#include <string>
#include "AClass.hpp"
class Reader
{
private:
std::string str_;
//Tokenizer tokenizer_;
AClass ac_;//DELETED TO WORK
public:
Reader(void);
~Reader(void);
std::string read();
};
//Reader.cpp
#include "Reader.h"
#include <iostream>
Reader::Reader(void)
{
}
Reader::~Reader(void)
{
}
std::string Reader::read()
{
std::getline(std::cin,str_);//read input
return str_;//result of calculations is in str_
}
//main.cpp
#include "Reader.h"
int main(int argc, char* argv[])
{
Reader reader;
try
{
reader.read();//BREAKPOINT SET ON THIS LINE IS MARKED BY VS AS UNREACHABLE!!!!!!
}
catch(...)
{
std::cerr << "Something is wrong";
}
return 0;
}
是Reader.h还是Reader.hpp?您好,Reader.hpp将是该文件。很抱歉。听起来你还没有重新编译。附加时将鼠标悬停在断点上,是否表示文件版本不匹配或类似情况?您还可以强制它断开,然后测试它是否工作。当您将鼠标移到禁用的制动点上时,它将显示带有帮助的工具提示。这个工具提示中有什么?好的,没有符号,进入模块选项卡,搜索与应用程序同名的主模块,它可能会说没有加载符号。右键单击它,然后尝试是否可以手动强制它加载调试符号。还要确保您的系统处于调试模式并执行调试exe!