windows命令行如何调试程序?(windows服务的调试)
windows命令行如何调试程序?
方法一:使用WinDBG的全局标志设置命令gflags.exe设置,在对话框中的Image File设置要调试的服务名称,Debugger选择设置调试器的路径; (备注:我在实际操作中,这个地方设置Debugger时出现写注册表错误,卸载360软件解决问题。)
(图片来源网络,侵删)方法二:使用注册表编辑器,打开注册表路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options ,添加一个主键,名称为要调试的服务名称,如 MyService.exe,在该主键下再新建一个字符串值,名称为“Debugger”,值为调试器路径;
Step 2:
设置要调试的服务与桌面交互:
(图片来源网络,侵删)(1)打开“管理工具”,选择“服务”,打开服务管理窗口,选择准备调试的服务名,右击选择“属性”,选择“登录”,勾选“允许服务与桌面交互”;
(2)使用注册表编辑器,打开注册表路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services \ServiceName(要调试的服务名),选择“Type”,修改其值为:原值 OR 0x00000100(如原值为:0x00000010 OR 0x00000100 =0x00000110);
Step 3:
(图片来源网络,侵删)设置服务启动超时时间(系统默认为30秒),启动注册表编辑器,打开注册表路径:HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Control,新建DWORD值“ServicesPipeTimeout”,其值为欲设置的超时时间,如设置 24小时,则值为86400000毫秒;
Step 4:
启动服务准备调试,打开“管理工具”,选择“服务”,打开服务管理窗口,选择准备调试的服务名,右击选择“启动”
windows调试模式?
调试模式:如果某些硬件使用了实模式驱动程序(如在config.sys和autoexec.bat中加载的某些驱动程序)并导致系统不能正常启动,就可以用调试模式来检查实模式驱动程序产生的冲突。
在该模式下系统会反复测试并确定要使用或取消config.sys或autoexec.bat中的驱动程序,以便发现引起系统配置问题的设备驱动程序。
正常模式:就是常规的启动计算机运行模式,如果在正常模式无法启动的时候可以使用调试模式或是安全模式尝试来修复正常的模式。
到此,以上就是小编对于服务程序如何调试的问题就介绍到这了,希望这2点解答对大家有用。