Eclipse CDT运行配置中如何正确传入C++运行时参数?程序崩溃排查
问题解决:Eclipse中C++程序运行时参数的正确设置方式
首先纠正一个常见误区:argv[0]是程序自身的名称/路径,并非你传入的第一个自定义参数,用户名应该用argv[1],密码用argv[2]——你能正确获取参数说明代码里可能已经修正了这点,但参数输入方式大概率是问题根源。
正确的运行时参数指定步骤:
- 打开Run Configuration -> Arguments标签页
- 在Program arguments输入框中,直接将两个参数用空格分隔输入,比如:
Test testPassWord,不要分行输入 - 确认设置后运行程序
如果按上述方式操作后仍崩溃,建议检查这几点:
- 先做参数边界判断:比如先检查
argc >= 3,避免参数不足导致的数组越界访问 - 打印
argv[1]和argv[2]的实际值,确认没有包含换行符或多余空格(分行输入会让参数携带换行,可能被数据库驱动识别为无效字符) - 对比硬编码字符串与从
argv获取的字符串的长度、内容,排查是否存在隐式编码或字符差异
内容的提问来源于stack exchange,提问作者Ben Engbers
相关产品推荐
相关产品推荐

