2009-04-23 2670 views
3

有什么方法可以在Visual Studio.NET中调试单个文件? 我仍然是C++的noob,但我想开始学习如何使用调试器,因为现在我正在编写非常小的文件。如何在Visual Studio中调试单个.cpp文件?

看来如果只有一个源文件,它不会让我调试,但是当我添加另一个源文件时,我可以。我正在使用VS.net 2008.

回答

9

它不需要另一个源文件,它需要一个项目文件。

Visual Studio需要大量的信息来了解如何编译和调试源代码。比如使用哪种优化设置,在哪里寻找boost头文件等等。

试试这个:去File->New->Project...并选择一个win32控制台应用程序。在下一个向导中,转到Application Settings,并选中“空项目”,然后点击确定。

现在您已经有空的项目和解决方案文件,您可以随时随地复制/粘贴文件;要调试,只需打开.sln文件,拖动您的单个文件.cpp,然后按F5。

+0

我在想同一个确切的想法,每次最少的设置。如果我知道这是我赢得的东西; t调试,我只是打开一个文本编辑器并从命令行编译,但这将适用于大一点的程序。谢谢! – patricksweeney 2009-04-23 14:23:16

1

您是否正在尝试调试此cpp中定义的主例程?您添加的cpp是否使其有效?

你总是可以编译cpp文件,但语言定义应用程序的入口点是

int main() 
{ 
} 

(或使用的argv/argc个命令行参数的签名,但在这里,那不是很重要) 。

0

在VS.net 2008中创建Visaul C++控制台应用程序,并将要调试的cpp文件添加到项目中。

在主例程中调用该cpp文件中定义的函数,该函数将在创建控制台项目时由VS.Net 2008为您创建。

0

我调试通过:

  • 把一个断点,我想。
  • 在Visual Studio中构建应用程序。
  • 按F5开始使用 调试应用程序(如果一个dll你 调试,你要设置项目 属性调用该DLL的EXE )。
  • 利润! :)

如果断点从通常的红点变成黄色三角形,那么这意味着你没有调试你认为你的代码 - 通常这发生在你的dll没有加载时。如果你正在调试一个exe文件,那么你不会看到这个。

此外,请确保您已经构建(并具有项目类型)为调试。

0

您需要创建一个可以调试的解决方案。之后,你有多少源文件并不重要。您可以使用File-> New菜单创建解决方案。

0

每当我想快速调试一个控制台程序,我发现控制台是最好的开始。所以,我把一个C++程序(blah.cpp):

int main() 
{ 
    for (int i = 0; i < 100; i++) 
     printf ("Hello World ... etc \n"); 
} 

然后设置我的环境控制台(从CMD.EXE)上:

vcvars32 

然后编译我的程序(该字是如此我得到一个blah.pdp调试):

cl /Zi blah.cpp 

而瞧,我有一个blah.exe,我可以运行。如果我想调试blah.exe,我只需从VS2008打开一个项目并选择blah.exe而不是项目文件。我可以在IDE中打开blah.cpp并运行(F5),设置断点(F9)并通常调试到我的心中(F10,F11)。

1

线程相当老,但我的答案可能会帮助其他人,因为我面临同样的问题。我使用Bloodshed DevC++编译单个C++文件。无需使用Visual Studio创建整个项目。