在远程服务器运行自己编译好的的release的exe文件,服务器弹出.exe可执行文件发生未处理的win32异常

时间:2021-07-30 17:10:35
在远程服务器运行自己编译好的的release的exe文件,服务器弹出.exe可执行文件发生未处理的win32异常。我的程序是用vc6.0写的。这个问题是不是编译的环境不一样造成的,大家帮帮忙!

10 个解决方案

#1


本地运行呢?

#2


引用 1 楼 rrrfff 的回复:
本地运行呢?

我只是做了一个服务器端,运行客户端的时候,点击发送按钮,服务器端就自动关闭了,不知道是不是发送按钮的程序没写对还是其他原因

#3


程序有问题啊,我也在用6.0,继续检查代码,如果是店家发送按钮服务器关闭,那你要看看发送之前的初始化,还有发送的代码流程了,release版自动关闭很多都是溢出或非法引用造成的

#4


引用 3 楼 a469367940 的回复:
程序有问题啊,我也在用6.0,继续检查代码,如果是店家发送按钮服务器关闭,那你要看看发送之前的初始化,还有发送的代码流程了,release版自动关闭很多都是溢出或非法引用造成的

要不我把程序发给你,你帮我看看

#5


本地能不能运行你的exe?

这个错误太广了,就是程序没处理异常。

int main()
{
int i=0;
printf("%d\n",1/i);  //这种

throw 123; //以及这种代码都会出这问题

#6


引用 5 楼 luciferisnotsatan 的回复:
本地能不能运行你的exe?

这个错误太广了,就是程序没处理异常。

C/C++ code
int main()
{
int i=0;
printf("%d\n",1/i);  //这种

throw 123; //以及这种代码都会出这问题

这个跟远程服务器的变异环境有问题吗?

#7


引用 2 楼 zwd602 的回复:
引用 1 楼 rrrfff 的回复:

本地运行呢?

我只是做了一个服务器端,运行客户端的时候,点击发送按钮,服务器端就自动关闭了,不知道是不是发送按钮的程序没写对还是其他原因

本地运行没有问题啊!是不是操作系统不一样啊

#8


是不是内存错误吗?

#9


    我查了一些相关方面的资料,这个错误确实存在的原因很多,有硬件或者软件的错误,网上有资料说可能是当应用程序动态内存分配失败时系统函数会返回一个0值,若应用程序没有检查这个错误,它就会认为这个值是给它分配的可用光标,继续在之后的执行中使用这块内存,这时候,就会出现上述的内存不能为“read”错误,并指出被引用的内存地址为“0x00000000“,其他的原因都是一些系统程序,内存不够,中毒或者木马之类的。
    我后来把应用程序里面的动态分配内存的指针全部改成数组类型的了,但是还是出现了这个错误,不过程序至少可以用了,计算机不会强制把应用程序关闭了!
    看看有没有哪位朋友碰到这种情况的,一起讨论一下

#10


你能不能在远端的机器上调试?如果不行,可以在程序里加些日志,然后看看到底是在哪步出了问题。
你也可以让程序在崩溃是产生 dump文件,具体如何产生,google下。

发送的信息有没有发送一个结构体?如果发了结构体,而且里面有指针,那么要确保把指针指向的数据发出去。如果只是把结构体转成BTYE,发的只是一个指针。

#1


本地运行呢?

#2


引用 1 楼 rrrfff 的回复:
本地运行呢?

我只是做了一个服务器端,运行客户端的时候,点击发送按钮,服务器端就自动关闭了,不知道是不是发送按钮的程序没写对还是其他原因

#3


程序有问题啊,我也在用6.0,继续检查代码,如果是店家发送按钮服务器关闭,那你要看看发送之前的初始化,还有发送的代码流程了,release版自动关闭很多都是溢出或非法引用造成的

#4


引用 3 楼 a469367940 的回复:
程序有问题啊,我也在用6.0,继续检查代码,如果是店家发送按钮服务器关闭,那你要看看发送之前的初始化,还有发送的代码流程了,release版自动关闭很多都是溢出或非法引用造成的

要不我把程序发给你,你帮我看看

#5


本地能不能运行你的exe?

这个错误太广了,就是程序没处理异常。

int main()
{
int i=0;
printf("%d\n",1/i);  //这种

throw 123; //以及这种代码都会出这问题

#6


引用 5 楼 luciferisnotsatan 的回复:
本地能不能运行你的exe?

这个错误太广了,就是程序没处理异常。

C/C++ code
int main()
{
int i=0;
printf("%d\n",1/i);  //这种

throw 123; //以及这种代码都会出这问题

这个跟远程服务器的变异环境有问题吗?

#7


引用 2 楼 zwd602 的回复:
引用 1 楼 rrrfff 的回复:

本地运行呢?

我只是做了一个服务器端,运行客户端的时候,点击发送按钮,服务器端就自动关闭了,不知道是不是发送按钮的程序没写对还是其他原因

本地运行没有问题啊!是不是操作系统不一样啊

#8


是不是内存错误吗?

#9


    我查了一些相关方面的资料,这个错误确实存在的原因很多,有硬件或者软件的错误,网上有资料说可能是当应用程序动态内存分配失败时系统函数会返回一个0值,若应用程序没有检查这个错误,它就会认为这个值是给它分配的可用光标,继续在之后的执行中使用这块内存,这时候,就会出现上述的内存不能为“read”错误,并指出被引用的内存地址为“0x00000000“,其他的原因都是一些系统程序,内存不够,中毒或者木马之类的。
    我后来把应用程序里面的动态分配内存的指针全部改成数组类型的了,但是还是出现了这个错误,不过程序至少可以用了,计算机不会强制把应用程序关闭了!
    看看有没有哪位朋友碰到这种情况的,一起讨论一下

#10


你能不能在远端的机器上调试?如果不行,可以在程序里加些日志,然后看看到底是在哪步出了问题。
你也可以让程序在崩溃是产生 dump文件,具体如何产生,google下。

发送的信息有没有发送一个结构体?如果发了结构体,而且里面有指针,那么要确保把指针指向的数据发出去。如果只是把结构体转成BTYE,发的只是一个指针。