在 Visual Studio 中使用 "Command Arguments" 进行调试无效
Debugging with "Command Arguments" in Visual Studio not working
VS 不是 运行 我传递的 "Command Arguments" 我做错了什么?
尝试在 Visual Studio 中与 "Command Arguments" 合作。
我将其分解为一个简单的 C 语言小 ConsoleApplication 程序。
#include "pch.h"
#include <iostream>
int main(int argc, char *argv[])
{
printf("\nargv: ");
for (int i = 0; i < argc; i++)
{
printf(" %s", argv[i]);
}
printf("\n");
}
然后我设置 "Command Arguments": Project: Properties: Debugging:"Command Arguments": mom
我点击了 运行 按钮并显示了这个(我的参数没有传入):
argv: C:\Users\jack\source\repos\ConsoleApplication45\Debug\ConsoleApplication45.exe
C:\Users\jack\source\repos\ConsoleApplication45\Debug\ConsoleApplication45.exe (process 1812) exited with code 0.
To automatically close the console when debugging stops, enable Tools->Options->Debugging->Automatically close the console when debugging stops.
Press any key to close this window . . .
当我从命令行 运行 时,我得到(使用传入的参数按照我的意愿工作:"mom"):
C:\Users\jack\source\repos\ConsoleApplication45\Debug>ConsoleApplication45.exe mom
argv: ConsoleApplication45.exe mom
C:\Users\jack\source\repos\ConsoleApplication45\Debug>
感谢 link 让-弗朗索瓦·法布尔:
是的,我不得不从 x86 更改为 x64。
您可能是 运行 x86,参数为空。
最好的方法是将它们设置为 "Any CPU",因为它不太可能因目标处理器而异。
我认为您的主要问题是解决方案 configuration/debugging 属性与您实际使用的平台 debugging/running 解决方案不匹配。
确保它们对齐。
示例 - 此配置适用于 Platform: x64
当解决方案为ran/debugged时,需要确保在同一平台进行调试:
如果您的平台不是 x64,
,则按照建议配置和 运行 Platform: x86
或 All Platforms
下的项目。
我以为我遇到了类似的问题,但后来意识到问题出在 属性 页面对话框的操作上。在 Visual Studio 的早期版本中,选择一个项目并右键单击“属性”将打开一个对话框,其中的配置设置为活动配置。
在 Visual Studio 2017 中不再是这种情况,并且似乎以上次编辑的配置打开,这令人困惑,并可能导致有人为错误的配置编辑设置,如上所示。不是很好的改变...
VS 不是 运行 我传递的 "Command Arguments" 我做错了什么?
尝试在 Visual Studio 中与 "Command Arguments" 合作。
我将其分解为一个简单的 C 语言小 ConsoleApplication 程序。
#include "pch.h"
#include <iostream>
int main(int argc, char *argv[])
{
printf("\nargv: ");
for (int i = 0; i < argc; i++)
{
printf(" %s", argv[i]);
}
printf("\n");
}
然后我设置 "Command Arguments": Project: Properties: Debugging:"Command Arguments": mom
我点击了 运行 按钮并显示了这个(我的参数没有传入):
argv: C:\Users\jack\source\repos\ConsoleApplication45\Debug\ConsoleApplication45.exe
C:\Users\jack\source\repos\ConsoleApplication45\Debug\ConsoleApplication45.exe (process 1812) exited with code 0.
To automatically close the console when debugging stops, enable Tools->Options->Debugging->Automatically close the console when debugging stops.
Press any key to close this window . . .
当我从命令行 运行 时,我得到(使用传入的参数按照我的意愿工作:"mom"):
C:\Users\jack\source\repos\ConsoleApplication45\Debug>ConsoleApplication45.exe mom
argv: ConsoleApplication45.exe mom
C:\Users\jack\source\repos\ConsoleApplication45\Debug>
感谢 link 让-弗朗索瓦·法布尔:
是的,我不得不从 x86 更改为 x64。
您可能是 运行 x86,参数为空。
最好的方法是将它们设置为 "Any CPU",因为它不太可能因目标处理器而异。
我认为您的主要问题是解决方案 configuration/debugging 属性与您实际使用的平台 debugging/running 解决方案不匹配。
确保它们对齐。
示例 - 此配置适用于 Platform: x64
当解决方案为ran/debugged时,需要确保在同一平台进行调试:
如果您的平台不是 x64,
,则按照建议配置和 运行 Platform: x86
或 All Platforms
下的项目。
我以为我遇到了类似的问题,但后来意识到问题出在 属性 页面对话框的操作上。在 Visual Studio 的早期版本中,选择一个项目并右键单击“属性”将打开一个对话框,其中的配置设置为活动配置。
在 Visual Studio 2017 中不再是这种情况,并且似乎以上次编辑的配置打开,这令人困惑,并可能导致有人为错误的配置编辑设置,如上所示。不是很好的改变...