Visual studio 本地';已退出,代码为1(0x1)
您好,我一直在使用Visula studio 2008,我能够构建代码,在发布模式下调试我的项目时,我遇到了这个错误 如何摆脱此“本机”已退出,出现代码1(0x1)“错误 lst_0704.exe”:已加载“C:\lst\bin\lst_0704.exe”,已加载符号 lst_0704.exe”:加载的“C:\Windows\SysWOW64\ntdll.dll” lst_0704.exe”:加载的“C:\Windows\SysWOW64\kernel32.dll” lst_0704.exe”:加载的“C:\Windows\SysWOW64\KernelBase.dll” 程序“[6480]lst_0704.exe:Native”已退出,代码为1(0x1) 我曾尝试将我的项目更改为MSDN博客中建议的调试模式,但仍然出现此错误Visual studio 本地';已退出,代码为1(0x1),visual-studio,Visual Studio,您好,我一直在使用Visula studio 2008,我能够构建代码,在发布模式下调试我的项目时,我遇到了这个错误 如何摆脱此“本机”已退出,出现代码1(0x1)“错误 lst_0704.exe”:已加载“C:\lst\bin\lst_0704.exe”,已加载符号 lst_0704.exe”:加载的“C:\Windows\SysWOW64\ntdll.dll” lst_0704.exe”:加载的“C:\Windows\SysWOW64\kernel32.dll” lst_0704.exe”:
项目属性中给出的命令行参数是否有任何问题 此行不一定表示错误:
The program '[6480] lst_0704.exe: Native' has exited with code 1 (0x1).
这仅仅意味着程序的进程(lst_0704.exe
)已经退出,可能是因为您要求它退出。“本机”部分意味着您的应用程序被编译为本机代码,而不是托管代码。它还告诉你返回码是1
传统上,当应用程序正常退出且没有任何错误时,它将返回0代码。但这并不是严格要求的。实际上,操作系统本身并没有检查这些返回代码的功能。如果您愿意的话,您可以自行检查这些返回代码
我无法确切地告诉您为什么您的应用程序在退出时返回代码1,因为您尚未发布任何代码。但我的灵力告诉我,可能有一个返回1主方法末尾的代码>语句(或其等效函数)。如果希望应用程序退出时返回代码为0,则需要将其更改为return0代码>
在Windows应用程序中(与控制台应用程序相反),返回代码通常是导致应用程序终止的WM_QUIT
消息的wParam
。换句话说,主消息循环将如下所示:
MSG msg;
BOOL bRet;
while ((bRet = GetMessage(&msg, NULL, 0, 0)) != 0)
{
if (bRet == -1)
{
// An error occurred
}
else
{
// Process the message
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
// GetMessage returned WM_QUIT, so return the exit code.
return msg.wParam;
通过调用,可以生成WM_QUIT
消息,该消息采用一个指定退出代码的参数。这是作为wParam
传递并作为进程的退出代码返回的。同样,这里返回的代码并不重要,但如果代码正常退出且没有错误,则通常为0。此行不一定表示错误:
The program '[6480] lst_0704.exe: Native' has exited with code 1 (0x1).
这仅仅意味着程序的进程(lst_0704.exe
)已经退出,可能是因为您要求它退出。“本机”部分意味着您的应用程序被编译为本机代码,而不是托管代码。它还告诉你返回码是1
传统上,当应用程序正常退出且没有任何错误时,它将返回0代码。但这并不是严格要求的。实际上,操作系统本身并没有检查这些返回代码的功能。如果您愿意的话,您可以自行检查这些返回代码
我无法确切地告诉您为什么您的应用程序在退出时返回代码1,因为您尚未发布任何代码。但我的灵力告诉我,可能有一个返回1主方法末尾的代码>语句(或其等效函数)。如果希望应用程序退出时返回代码为0,则需要将其更改为return0代码>
在Windows应用程序中(与控制台应用程序相反),返回代码通常是导致应用程序终止的WM_QUIT
消息的wParam
。换句话说,主消息循环将如下所示:
MSG msg;
BOOL bRet;
while ((bRet = GetMessage(&msg, NULL, 0, 0)) != 0)
{
if (bRet == -1)
{
// An error occurred
}
else
{
// Process the message
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
// GetMessage returned WM_QUIT, so return the exit code.
return msg.wParam;
通过调用,可以生成WM_QUIT
消息,该消息采用一个指定退出代码的参数。这是作为wParam
传递并作为进程的退出代码返回的。同样,这里返回的代码并不重要,但如果代码正常退出且没有错误,则通常为0。这个错误,但有不同的根本原因,阻止我开始执行新项目。没有其他错误、例外或任何其他错误迹象
我的原因是将项目创建为控制台应用程序,然后将其切换到Windows应用程序。两种类型的项目之间的启动代码不同且不兼容。从另一个作为Windows应用程序创建的项目中将Program.cs
替换为其静态Main()
方法并修改其名称空间等,解决了我的错误
我希望这能帮助被这条毫无帮助的错误信息弄糊涂的其他人。这个错误,但有不同的根本原因,阻止我开始执行一个新项目。没有其他错误、例外或任何其他错误迹象
我的原因是将项目创建为控制台应用程序,然后将其切换到Windows应用程序。两种类型的项目之间的启动代码不同且不兼容。从另一个作为Windows应用程序创建的项目中将Program.cs
替换为其静态Main()
方法并修改其名称空间等,解决了我的错误
我希望这能帮助被这条毫无帮助的错误消息弄糊涂的其他人。谢谢@CodyGray的解释,但即使我将代码更改为return 0,我的项目也不会生成它应该生成的文件来粘贴代码。它非常大,由许多文件组成,为什么我不能在这里显示它?我不知道是什么原因你是说档案。显然,构建系统正在生成可执行文件,这就是您正在执行的。应用程序的运行时行为是一个完全不同的问题@奈杜坦克斯