VS Code中lldb的launch.json无法传递参数问题求助
解决VS Code调试时argv参数异常的建议
修正program字段路径
你的launch.json中program字段仍为示例占位文本,调试器无法定位正确的可执行文件,这是参数传递异常的核心原因。替换为实际编译生成的可执行文件路径,比如:"program": "${workspaceFolder}/a.out"确保该路径下确实存在编译完成的可执行文件。
确认编译流程正常
先通过命令行手动编译main.cpp生成目标程序,比如执行:g++ main.cpp -o a.out保证编译无报错,生成的
a.out可直接运行。清理JSON语法冗余
args数组最后一个元素后的多余逗号可能导致调试器解析异常,建议删除:"args": [ "-e", "smile.png", "not_smile.png", "ABCD" ]调整外部控制台设置
将externalConsole改为true,通过系统外部控制台运行调试程序,避免VS Code集成终端的路径解析问题:"externalConsole": true添加代码验证参数
在main函数中加入打印逻辑,直观确认参数接收情况:#include <iostream> int main(int argc, char** argv) { std::cout << "参数数量:" << argc << std::endl; for (int i = 0; i < argc; ++i) { std::cout << "参数[" << i << "]:" << argv[i] << std::endl; } return 0; }重新编译后调试,根据输出定位问题。
内容的提问来源于stack exchange,提问作者David Pascual
相关产品推荐
相关产品推荐

