如题,请详细一点

解决方案 »

  1.   

    可以首先以console的方式来调试
      

  2.   

    //以下是我以前的总结,供你参考你可以试一下这个方法:
    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一样,从接口函数进入即可)注意:当前系统中如存在多个调试环境,例如同时装有VC6.0&&VC7.0,可能会有麻烦喽。