c++ - Visual Studio 控制台调试错误文件
问题描述
我创建了一个空项目并在项目中添加了两个 (.cpp) 项。请记住,我是 C++ Visual Studio 的初学者,所以我没有使用任何代码以某种方式连接这两个文件。
问题:调试器可以很好地调试我的第一个文件,但是当我打开第二个文件并通过单击“本地 Windows 调试器”开始运行时(当我在第二个文件中时单击),它仍然会继续运行第一个文件是否有没有错误。
当我点击“本地 Windows 调试器”后查看调试窗口时,我看到指向第一个文件的文件路径。
我尝试过:完全关闭第一个文件,关闭 Visual Studio 并从我的文件夹路径打开我的第二个文件,关闭第一个文件中的断点并打开第二个文件。
我想知道:我怎样才能运行第二个文件?我是否必须使用命令提示符将空项目中的两个项目分开?顺便说一句,我正在使用 Windows 10。
我搜索了我的问题,但我很难找到给出解决方案的指南
解决方案
问题:
Dracep 无法调试他们拥有的两个文件之一。这是因为它们在两个文件中都有一个主函数定义,导致编辑器偏爱一个。
解决方案:
通过在您的应用程序中拥有第三个专用入口点(IE 有一个入口点,然后您可以包含其他文件),您可以决定在任何给定时间要调试哪个文件。
例如,调用一个文件main.cpp
,然后使用#include "filename.h"
.
从那里您可以包含该文件并通过调用该文件中的函数来进行代码检查,而不是拥有一个 main 并逐步执行它,从而导致长期的可伸缩性问题。
请参阅有关将逻辑与定义分开的问题,因为标记为正确的答案是您会发现的大多数 C++ 项目的标准。
这样,您可以执行以下操作:
#include "File1.h"
#include "File2.h"
int main(int argc, char** argv)
{
File1Class file1Class;
File2Class file2Class;
//Do whatever tests you like with either.
}
推荐阅读
- javascript - Google Drive Javascript API:递归获取所有文件并将它们放入数组中,然后再调用另一个函数
- numpy - 如何在opencv中使用颜色进行模板匹配?
- pdf - 从 sapUI5 App 下载 PDF 的最佳方法是什么?
- node.js - Microsoft graph,批处理请求的 nextLink
- mysql - 如何使用平均函数和 where 子句连接两个表?SQL
- r - R如何根据特定单词的存在提取部分文本
- grails - Grails Spring Security Shiro,如何使用 2 个不同的身份验证成功 url 创建 2 个登录表单?
- typescript - 使用“keyof extends”函数注释时出现打字稿错误
- python - 使用 matplotlib 组织 y 轴
- unix - scp 命令上没有此类文件或目录错误