调试windows service程序有什么好办法 不知这个问题放在这里是否合适能否在ide的调试器中实现单步跟踪? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在InitInstance中直接调用服务的ServiceMain(NULL, 0);然后按F5就可以调试了 先把要实现的功能做成EXE,调试完成后, 再一次性转入SERVICE模板。因为Service里面不能弹出对话框,你也可以在Service里面要调试的地方用OutputDebugString("")输出要调试的变量的信息。OutputDebugString("")可以用DebugView(Dbgview.exe)来接收。 你可以试一下这个方法:1、ServiceMain函数起始处添加ASSERT(0);语句inline void CXXX::ServiceMain(DWORD /* dwArgc */, LPTSTR* /* lpszArgv */){ ASSERT(0); //...}2、编译DEBUG版本的服务程序,注册服务并启动。此时将显示Debug Assertion Failed调试信息对话框3、启动任务管理器,从中选择你的服务进程,右击选择调试。在弹出的警告对话框中点击“YES”按钮。此时系统将启动MSDEV.exe4、在Debug Assertion Failed调试信息对话框中点击“重试”按钮,执行断点将显示在 ASSERT(0);语句处。至此,F10、F11随便按吧。如果服务程序提供对外的接口,调试它就更容易了。(像调DLL一样,从接口函数进入即可) 工具栏长度设置 UpdateLayeredWindow创建透明窗口后,怎么再加按钮 list列表等控件 一个关于CFileDialog的问题 关于视图 为什么我的程序在本地可以我自己的sqlserver,但是我把程序拷贝到别人的机器上,就不可以了呢 请教:怎样实现outlook 中便签程序中的那种界面 高分请教:如何使用多播发送文件。 如何做好控件後添加一個許可協議? 驱动程序问题 教一个棘手问题!如何在视频窗口上显示控件! 新手提问^_^ define语句和printf语句求助
然后按F5就可以调试了
1、ServiceMain函数起始处添加ASSERT(0);语句inline void CXXX::ServiceMain(DWORD /* dwArgc */, LPTSTR* /* lpszArgv */)
{
ASSERT(0);
//...}
2、编译DEBUG版本的服务程序,注册服务并启动。此时将显示Debug Assertion Failed调试信息对话框
3、启动任务管理器,从中选择你的服务进程,右击选择调试。在弹出的警告对话框中点击“YES”按钮。此时系统将启动MSDEV.exe
4、在Debug Assertion Failed调试信息对话框中点击“重试”按钮,执行断点将显示在 ASSERT(0);语句处。
至此,F10、F11随便按吧。如果服务程序提供对外的接口,调试它就更容易了。(像调DLL一样,从接口函数进入即可)