怎样在服务器中调试.net程序

怎样在服务器中调试.net程序,第1张

由于服务必须从服务控制管理器的上下文中运行,而不是从 Visual Studio .NET 中运行,因此调试服务不像调试其他 Visual Studio 应用程序类型那样简单。若银圆要调试服务,必须首先启动服务,然后将一个调试器附加到正在运行服务的进程中。然枯雀后可以使用 Visual Studio 的所有标准调试功能来调试应用程序。

调试 OnStart 方法可能比较困难,因为 Windows 服务管理器将所有尝试启动服务的时间限制在 30 秒内。调试 Windows 服务。

安装您的服务。

可从服务控制管理器、“服务器资源管理器”或代码启动服务。

在 Visual Studio 中,从“调试”菜单中选择“进程”,出现“进程”锋败塌对话框,单击“显示系统进程”。

在“可用进程”区域内单击服务的进程,然后单击“附加”。

提示 此进程将与服务的可执行文件同名,出现“附加到进程”对话框。

选择任意适当选项,然后单击“确定”关闭对话框。注意 现在已处于调试模式。

设置要在代码中使用的任意断点。

访问服务控制管理器并 *** 纵服务,并发送停止、暂停和继续命令以命中您的断点。

作者:寒羽枫

请根据你的调试类型与 *** 作系统选择,以下步骤请勿颠倒(不行的话,从头开始设置)PS:因本人撰写本稿时,用的是Win 2003 、Win2000 繁体版 + Visual Studio.Net 2003 英文版,故抓下来的图与说明不大一样,但这些“属性”的位置是不变的 一、本地调试A. Windows 2000 *** 作系统1、打开VS.Net工具选码尘项→项目Web设置→Web服务器迟信禅连接→Forntpage扩展

2、用户的群组 →删除“(192.168.0.1) Admins”用户组”(可能不是 IP,是计算机名称,没有就不用删了)

3、右击“我的电脑坦芦”→管理 →服务和应用程序→ Internet 信息管理服务器(IIS) →右击“默认Web站点”所有任务→删除服务器扩展

4、在 MS-DOS 命令下运行“C:\WINNT\Microsoft.NET\Framework\v1.0.3705\aspnet_regiis.exe -i”(此处也可能是“C:\WINNT\Microsoft.NET\Framework\ v1.1.4322\aspnet_regiis.exe -i”),接着在“C:\WINNT\Microsoft.NET\Framework\v1.0.3705\Config\machine.config”文件找到“”把“ username="machine"”改成“username="system"”。

5、按第 3 步,在“所有任务”→“配置服务器扩展”完成向导的过程中会提示你创建本地用户组“(192.168.0.1) Admins” →刷新“用户组”即可看到,然后添加该组成员

6、右击“Internet信息报务”→属性→服务器扩展→“充许作者上载可执行程序”;

7、检查“c:\inetpub\wwwroot”文件夹(注意此处为站点所在根目录,必须是NTFS 格式)安全属性,里面应该有“(192.168.0.1) Admins”用户组,没有就自己加上,并附上相应的权力

8、运行VS.NET,新建项目会有用户名和密码提示框,输入(192.168.0.1) Admins 群组成员相应的账号及密码(用户密码不能为空,若该账号无密码请添加)

B. Windows 2003 *** 作系统1、同上2、右击“我的电脑”→管理 →服务和应用程序→ Internet 信息管理服务器(IIS) →站点→右击“默认Web站点”→所有任务 →删除 Server Extensions 2002 →将打开一网页,输入“Administrator ”及密码,按步骤做完

5、完成上述 4 个步骤,只有Administrators 用户组的成员才有权限进行调试,其他用户的调试请参照“远程调试” 二、远程调试首先,先介绍远程调试的先决条件:1、Web 服务器需要能够进行本地调试的条件2、Web 服务器需要安装Visual Studio .NET 远程组件,客户端只需要“Full Remote Debugging”一项

A. Windows 2000 *** 作系统 1、你需要有一个 Web 服务器的账号,该账号至少应该是”Debugger Users” ”WebAdmins”两个用户组的成员(此处我建立一个”cityhunter” 的账号,”Web Admins” 是设置本地调试时创建的)

2、在服务器上的“C:\WINNT\Microsoft.NET\Framework\v1.0.3705\Config\machine.config”文件中找到“”把“username” 设成"cityhunter",“password” 设为"123456"。然后重启服务器(不知重启 IIS 可不可以)

3、用户必须以用户名:”cityhunter” 密码:”123456” 的帐号登录客户端电脑.。这一点对于服务器与客户端在同一工作组的用户来说是关键!!原因也许是 Web 服务器检测账号时,只对当前客户端电脑使用者的账户及密码,而不是检验打开项目时用户输入的账户及密码。 B. Windows 2003 *** 作系统1、建立一个”cityhunter” 的账号,密码为”123456”,将其加入”Debugger Users “用户组2、右击“我的电脑”→管理 →服务和应用程序→ Internet 信息管理服务器(IIS) →站点→右击“默认Web站点”→新增 →Server Extensions 2002 管理员→将打开一网页,输入“Administrator ”及密码,按步骤做完,最后此账户也至少应该在二个工作组内

特别提醒:此账户还需要加入到 IIS_WPG 群组中

3、右击“我的电脑”→管理 →服务和应用程序→ Internet 信息管理服务器(IIS) →应用程序池→右击“DefaultAppPool”→属性→身份验证→ 指定为“cityhunter”。完成后重启。4、用户必须以用户名:”cityhunter” 密码:”123456” 的帐号登录客户端电脑.才能对 Web 服务器的项目进行调试。 以上设定完成后,进行调试,可以在服务器的“任务管理器” 看到”w3wp.exe” (Win 2000 下是“aspnet_wp.exe”)“vs7jit.exe” 是以“cityhunter” 身份运行的。需要注意的是公司的防火墙不能阻拦上述程序的通信。

在你要伍槐调试的代码前面用鼠标点击一下,会出现一个圆尺袭形的红点,然后按F5启动调试,进入调试模式后,每按一下F11是执行下一句代码,按F10是执行下一个代码块.在陵橘兄调试时把鼠标指向每一个对象都可以查看其属性值.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12253976.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存