【发布时间】:2009-04-23 13:49:11
【问题描述】:
有没有办法在 Visual Studio.NET 中调试单个文件? 我仍然是 C++ 的菜鸟,但我想开始学习如何熟悉调试器,并且现在我正在编写非常小的文件。
似乎只有一个源文件,它不会让我调试,但是当我添加另一个时,我可以。我正在使用 VS.net 2008。
【问题讨论】:
标签: c++ visual-studio-2008 debugging
有没有办法在 Visual Studio.NET 中调试单个文件? 我仍然是 C++ 的菜鸟,但我想开始学习如何熟悉调试器,并且现在我正在编写非常小的文件。
似乎只有一个源文件,它不会让我调试,但是当我添加另一个时,我可以。我正在使用 VS.net 2008。
【问题讨论】:
标签: c++ visual-studio-2008 debugging
它不想要另一个源文件,它想要一个项目文件。
Visual Studio 需要大量信息来了解如何编译和调试源代码。诸如使用哪些优化设置、在哪里寻找 boost 标头之类的事情。
试试这个:转到File->New->Project... 并选择一个win32 控制台应用程序。在下一个向导中,转到Application Settings,并选中“Empty Project”,然后点击 OK。
现在您有了空的项目和解决方案文件,您可以将它们复制/粘贴到任何您想要的位置;要调试,只需打开 .sln 文件,拖入您的单个 .cpp 文件,然后按 F5。
【讨论】:
boost 标头”:-)
您是否在尝试调试的此 cpp 中定义了一个主例程?您添加的使其工作的 cpp 是否具有主例程?
你总是可以编译一个 cpp 文件,但是语言将你的应用程序的入口点定义为
int main()
{
}
(或带有 argv/argc 命令行参数的签名,但这在这里并不重要)。
【讨论】:
每当我想快速调试控制台程序时,我发现控制台是最好的起点。所以我拿了一个 C++ 程序(blah.cpp):
int main ()
{
for (int i = 0; i < 100; i++)
printf ("Hello World ... etc \n");
}
然后在控制台上设置我的环境(来自 cmd.exe):
vcvars32
然后编译我的程序(Zi 是为了让我得到一个 blah.pdp 来调试):
cl /Zi blah.cpp
瞧,我有一个可以运行的 blah.exe。如果我想调试 blah.exe,我只需从 VS2008 打开一个项目并选择 blah.exe 而不是项目文件。我可以在 IDE 中打开 blah.cpp 并运行 (F5)、设置断点 (F9) 并根据自己的喜好进行调试 (F10,F11)。
【讨论】:
在 VS.net 2008 中创建一个 Visaul C++ 控制台应用程序,并将您要调试的 cpp 文件添加到项目中。
从主例程调用该 cpp 文件中定义的函数,该函数将在您创建控制台项目时由 VS.Net 2008 为您创建。
【讨论】:
我调试:
如果断点从通常的红点变为黄色三角形,则意味着您没有在调试您认为的代码 - 通常在您的 dll 未加载时发生这种情况。如果你正在调试一个 exe,那么你不会看到这个。
另外,请确保您已构建(并具有项目类型)为 Debug。
【讨论】:
您需要创建一个解决方案才能进行调试。之后,您拥有多少源文件并不重要。您可以使用 File->New 菜单创建解决方案。
【讨论】:
线程很老,但我的回答可能会帮助其他人,因为我遇到了同样的问题。 我使用 Bloodshed DevC++ 编译单个 C++ 文件。无需使用 Visual Studio 创建整个项目。
【讨论】: