Windows服务自动停止(调用外界接口的dll),找不到原因

问题描述

我做了一个.netWindows服务程序,程序里调用了外界接口提供的dll,但现在出现问题是,服务经常自动停止了,没找到原因,只能在Windwos事件日志里面看到系统记录的读地址错误。由于程序的错误都用try..catch..记录在本地日志文件中能看到,而这个错误直接读地址错误,所以判断认为应该不是服务程序的错误。那么,有没可能是外界接口提供的dll不是提供给服务的类库编译的呢?哪位大虾遇到过这个问题,怎么样解决的呢?急待~~

解决方案

解决方案二:
试一下这个:AppDomain.CurrentDomain.UnhandledException

解决方案三:
你说的是catch的异常捕捉吧,但我的服务估计是调别的接口dll时服务崩溃停止的,程序中的异常记录在日志文件里了,现在日志里没有异常,仅windows事件日志里有Thexxxserviceterminatedunexpectedly.Ithasdonethis2time(s).这个错误。哪位大虾遇到过呢急需解决~~

时间: 2024-09-20 08:03:06

Windows服务自动停止(调用外界接口的dll),找不到原因的相关文章

玩转Windows服务系列——无COM接口Windows服务启动失败原因及解决方案

原文:玩转Windows服务系列--无COM接口Windows服务启动失败原因及解决方案 将VS创建的Windows服务项目编译生成的程序,通过命令行 "服务.exe -Service"注册为Windows服务后,就可以通过服务管理器进行管理了. 问题 通过服务管理器进行启动的时候,发现服务无法启动,提示错误 由于程序代码是由VS的项目模板生成的,生成后直接编译为Debug版,然后通过命令行进行注册,期间并没有修改过任何代码. 难道是只有Release版本才能通过服务管理器启动吗.于是

.net 服务多线程 调用非托管C++DLL 如何防止 服务崩溃?

问题描述 .net 服务多线程 调用非托管C++DLL 如何防止 服务崩溃? 有一个.net服务,服务中开了多线程.其中有一线程会去调用非托管C++DLL,并阻塞等待其返回值.其他线程同步做文件处理.数据状态更新等操作.现在调用非托管C++DLL的线程会因为非托管代码的问题,崩溃.这样整个服务也就崩溃了!需要人工去服务器上重启该服务!请问:如何防止整个服务崩溃?是否可以捕获非托管C++中的错误.因为已经try catch了,但什么都捕获不到,直接服务崩溃! 解决方案 这个应该要想办法解决C++

Windows服务,调用外部DLL。安装时提示“无法加载一个或多个请求类型”

问题描述 1.目前的程序是Windows服务(代码在WinForm程序验证通过移植过来,代码没有问题)2.我正在我本机做安装这一步,使用的是VS自带的安装工具InstallUtile3.做的是一个调用摄像头拍照的功能,引入的DLL较多,且根据文档这些DLL还在不同的目录(Bin文件夹下5个,Bin文件夹下再创建一个文件夹下10几个),均是需要调用到的4.调用的方法是用的是DllImport方法,如图:5.具体的报错如截图 解决方案 解决方案二:如果还有描述不清楚的地方,可以发出来解决方案三:我确

nodejs服务端调用rest接口发生错误。提示未定义。

问题描述 我用的是nodejs服务端调用接口,取所有的群组信息,使用接口easemob.getGroups(),但是总是未定义,还试过这种方法:easemob.getGroups = function(data){            console.log(data);          };也不行.想问下到底是怎么调用的呢,,,easemob.getGroups(function(data){ console.log(data)})这个也不行,,实在没辙了,,求高手解答. 解决方案 同样问

玩转Windows服务系列——Debug、Release版本的注册和卸载,及其原理

原文:玩转Windows服务系列--Debug.Release版本的注册和卸载,及其原理 Windows服务Debug版本 注册 Services.exe -regserver 卸载 Services.exe -unregserver Windows服务Release版本 注册 Services.exe -service 卸载 Services.exe -unregserver 原理 Windows服务的Debug.Release版本的注册和卸载方式均已明确.但是为什么要这么做呢. 最初我在第一

玩转Windows服务系列——Windows服务小技巧

原文:玩转Windows服务系列--Windows服务小技巧 伴随着研究Windows服务,逐渐掌握了一些小技巧,现在与大家分享一下. 将Windows服务转变为控制台程序 由于默认的Windows服务程序,编译后为Win32的窗口程序.我们在程序启动或运行过程中,如果想看到一些调试信息,那么就只能通过DebugView或者输出到日志的方式了.因为如果我们通过printf或者std::cout输出调试信息的话,Win32窗口程序是无法显示的. 此时,我们是多么怀念我们的经典的控制台程序啊,它可以

玩转Windows服务系列——命令行管理Windows服务

原文:玩转Windows服务系列--命令行管理Windows服务 说到Windows服务的管理就不得不说通过命令行的方式管理Windows服务,因为无论是系统管理员,还是通过编程的方式调用cmd命令,命令行都是非常方便以及强大的工具. 接下来就看一下如何通过cmd命令管理Windows服务. 管理Windows服务的主要cmd命令 管理Windows服务的命令应该有很多,但是我所了解到的命令主要有两个:sc.net. 说是两个cmd命令,实际就是windows的system32目录下的两个执行程

玩转Windows服务系列——服务运行、停止流程浅析

原文:玩转Windows服务系列--服务运行.停止流程浅析 通过研究Windows服务注册卸载的原理,感觉它并没有什么特别复杂的东西,Windows服务正在一步步退去它那神秘的面纱,至于是不是美女,大家可要睁大眼睛看清楚了. 接下来研究一下Windows服务的启动和停止的流程. 启动流程 启动时自然是从程序的入口点开始 extern "C" int WINAPI _tWinMain(HINSTANCE /*hInstance*/, HINSTANCE /*hPrevInstance*/

java-将批处理文件注册成windows服务

问题描述 将批处理文件注册成windows服务 具体情况如下: 写了个java应用程序,想用 java -jar ss.jar的方式执行 写了个批处理文件ss.bat 里面 写 java -jar ss.jar 现在想讲这个ss.bat注册成为windows服务 网上查了些方法,服务能注册成功但是启动的时候报1053的错误希望有大神能够指点 解决方案 前两天完成了将java程序注册成win服务,如今本人有一个java工程起重含有启动脚本startagent.bat.我想要达到的效果是:当系统启动