VS Code“步入”调试器配置

P. *_*lev 17 c++ debugging visual-studio-code vscode-debugger

当我在 VS Code 中调试我的 C++ 项目并切换断点时,“进入”选项将我重定向到外部文件/库,但我只想进入我的代码。

我试图"justMyCode": truelaunch.js文件中添加选项,但它说这个属性是不允许的。

我能做些什么来只通过源代码?

Roh*_*ari 0

对于这个问题可以做一件事。我实际测试了自己的测试程序:

std::vector<std::string> name;

std::cout << "Enter a name: ";
std::getline(std::cin, name);

nameList.push_back(name); // BREAKPOINT
Run Code Online (Sandbox Code Playgroud)

当我们选择Step Into断点执行时,它会重定向到实际定义的函数的定义,在这种情况下,它不会仅针对您的文件进行调试。

进入类型:

进入类型调试

相反,您必须使用它Step Over,因为它不会尝试查找函数定义,并且您可以直接调试您的内容。

跨步类型:

单步调试类型

肯定Step Into会将您重定向到函数定义,无论它是在哪里定义的,如果您想了解相关函数的声明和其他信息,这是使用 Step Into 的好机会。但是,如果您只想调试该行而不考虑深入,并且不想跳转到另一个文件,则必须使用Step Over.

如果您想了解有关 Step Into 和 Step Over 的更多信息,可以浏览Stack Overflow 线程。我发现这也很有帮助。

  • 这不是问题的答案,也不是问题的解决方案。例如,如果您想调试自定义类型的构造函数,您需要单步执行push_back(),您不能像您建议的那样只使用“Step Over”。 (2认同)
  • 这并不能回答问题!如果您想单步执行一个参数是内置函数调用的函数,您不能直接单步执行,因为您将单步执行整个过程!如果无法提供解决方案,请不要回答,可以发表评论!VS code 的扩展可以为其他语言提供此功能,对于 c++ 是可能的,也许尚未实现,但这可以正确回答! (2认同)