VS调试异常问题解决(一)

摘要:
VisualStudio必须是"以管理员身份运行",即鼠标右键"以管理员身份运行",不是指你当前登录的账户是不是Administrator的问题。参考:VS调试时断点无法进入或命中的原因及解决方法当前不会命中断点,还没有为该文档加载任何符号参考:VS2017调试代码显示“当前无法命中断点,还没有为该文档加载任何符号”注:在mvc中视图cshtml中,如果代码有错误,eg少了个using引用,可能也是调试不进;还有Razor语法错误也是调试不进。

一、无法在web服务器上启动调试,您没有调试web服务器进程的权限

具体:无法在web服务器上启动调试,您没有调试web服务器进程的权限,您需要以web服务器的用户账户身份运行,或者具有管理员权限。

现象:手动修改网站项目的启动端口号,调试报错

VS调试异常问题解决(一)第1张

原因:从Windows NT 6.1开始,既Windows Vista版本开始,增强了用户控制,尤其是Windows 8。如果没有用系统优化软件做过用户控制,系统权限调整,即默认的情况下。

Visual Studio 必须是"以管理员身份运行",即鼠标右键"以管理员身份运行",不是指你当前登录的账户是不是Administrator的问题。否则当你的Visual Studio在F5启动调试的时候,就会出现以上错误:"无法在web服务器上启动调试,您没有调试web服务器进程的权限,您需要以web服务器的用户账户身份运行,或者具有管理员权限。"

解决办法:

桌面,鼠标移动到Visual Studio 2012 上方。右键--〉属性

VS调试异常问题解决(一)第2张

单击--〉高级

VS调试异常问题解决(一)第3张

在"用管理员身份运行(R)" 打勾,然后确定。OK,解决了。

或者每次右键"以管理员身份运行"。

二、设置网站项目(website)的默认启动端口

1.说明

在VS中 没有提供修改端口的地方,在网站的属性页中

VS调试异常问题解决(一)第4张

不可修改

2.如果想要修改生产环境(IISExpress)的端口需要在解决方案源代码修改

使用记事本等打开.sln文件

VS调试异常问题解决(一)第5张

手动修改启动地址。【不止一处】

三、web站点和控制台项目同时运行的方法

场景:本地修改了WCF中的代码,随站点一起启动的。现由一个控制台项目test 测修改的功能。调试进本地WCF的代码

先将本地站点(wcf)运行起来;然后,再在控制台项目 右键,调试-》启动新实例。就可以断点调试了。

四、断点调试不进

注:无法进入的断点是空心的,可以进入的断点是实心的。

  • 当前不会命中断点,源代码与原始版本不同

因为调试时使用的是PDB(Program Database)文件,而当我们在类库中修改代码后,由于没有重新编译,会使用上次的PDB文件,这样就造成了原来的PDB和新的代码文件不匹配,自然调试时也就无法正确进入断点。

再有,有时断点会跳到其他的位置,是因为断点是定位在代码的行上的,而PDB文件中记录了代码的行数,但是PDB文件却没有更新,所以当我们强行将断点处的代码设置"允许源代码与原始版本不同"时,如果依旧使用上一次的PDB文件,自然断点的行数就定位到了上次记录的代码行数,所以断点就会往后跳了。

参考:VS调试时断点无法进入或命中的原因及解决方法(PDB引发的)

  • 当前不会命中断点,还没有为该文档加载任何符号

参考:VS2017调试代码显示“当前无法命中断点,还没有为该文档加载任何符号”

注:在mvc中 视图cshtml中,如果 代码有错误,eg少了个using引用(而vs并没有提示),可能也是调试不进;还有Razor语法错误也是调试不进。

五、global.asax调试不进

问题:把断点打在global中的application_start()中,但VS不会在那个位置debug

因为application_start只运行一次,下一次再运行时,appDomain已经存在了所以还是跟不到断点,这时需要重启一下iis

六、端口80正在使用

1、问题:无法启动IIS Express Web服务器。来自IIS Express的输出:端口“80”正在使用

VS调试异常问题解决(一)第6张

输入 netstat -aon|findstr "80" 回车,记下最后一位数字,即PID,这里是4。

继续输入tasklist|findstr "4",回车,查看是哪个进程或者程序占用了80端口,结果是:system

VS调试异常问题解决(一)第7张

进程pid4占用80端口的解决办法

电脑需要重启。

2、若还没有解决问题,

Windows下80端口被pid为4的System进程占用解决方法

【使用端口映射查看命令netstat -ano,发现80端口是被pid为4的System进程占用,按以前的经验:一是被IIS占用;二是SQL Server Reporting Services报表服务占用。

使用HTTP命令netsh http show servicestate详细查看,会发现有80端口的信息,记下版本。

请求队列名称: 请求队列尚未命名。这个PID有问题

正常的是,请求队列名称: Clr4IntegratedAppPool{907947D4-6412-4B3E-BE5F-2847289D41F6}

VS调试异常问题解决(一)第8张

于是结束掉这个PID=2556的服务,可以了 

后来发现 ReportingServicesService是SQL Report的问题,直接将其禁用掉。

VS调试异常问题解决(一)第9张

七、无法访问请求的页面,因为该页的相关配置数据无效

1、无法读取配置文件

初始配置web项目运行的时候,在属性中 用虚拟目录时,报以下错误

VS调试异常问题解决(一)第10张

注意去看下项目目录下,.vsconfig 中的配置路径等是否正确。

2、由于权限不足而无法读取配置文件

给文件夹加入IIS_IUSRS用户权限(注意要替换所有子目录权限也要选上)

VS调试异常问题解决(一)第11张VS调试异常问题解决(一)第12张

VS调试异常问题解决(一)第13张

八、VS中生成项目,报错: CS202 无法打开xxx.dll 进行写入,对路径xx.dll的访问被拒绝。

VS调试异常问题解决(一)第14张

首先看下这个dll文件是否生成了(是否存在),应该是不存在,报错的,

那我们可以看下是否有什么杀毒软件将这个文件清除了,导致每次生成后有删除,然后一直不存在,生成项目报错

九、VS中生成项目,报错: CS0006 未能找到元数据文件 xxx.dll

这个问题发生在—我在不同的解决方案中把一个项目搬来搬去,终于出现了传说的CSC : error CS0006。

编译的时候总是提示一个引用中不存在的项找不到。无论怎样删除项目,删除引用都没法通过生成。

解决方案:

打开csproj项目文件,找到包含出问题的引用项所在的<ItemGroup>项,整个删除此项。

免责声明:文章转载自《VS调试异常问题解决(一)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Win10阻止电脑关机时弹出正在关闭应用的方法及恢复如何从github下载项目的源代码,包含git客户端,直接下载,vs下载下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Chrome开发者工具面板 F12 调试大全 记录

面板上包含了Elements面板、Console面板、Sources面板、Network面板、Timeline面板、Profiles面板、Application面板、Security面板、Audits面板这些功能面板。这些按钮的功能点如下: Elements:查找网页源代码HTML中的任一元素,手动修改任一元素的属性和样式且能实时在浏览器里面得到反馈。...

VS.2005 中比较有用的快捷键

VS.2005 中比较有用的快捷键 (刚刚发现网上早有全的,所以转过来:)) 1.       Ctrl +]                    检查括号匹配(在左右括号间切换) 2.       Shift + Home(End)选中从光标起到行首(尾)间的代码 3.       Alt+Shift+鼠标 选中自己圈中的长方块。 4.       F1...

[转载]注册机破解法的原理以及应对方法

[--- 资料是从免费网站上获取的,上载在这里,只为交流学习目的,文章原作者保留所有权力,如本博客的内容侵犯了你的权益,请与以下地址联系,本人获知后,马上删除。同时本人深表歉意,并致以崇高的谢意!erwin_609#msn.com---] 顾名思义,写注册机来破解软件注册的方法,就是模仿你的注册码生成算法或者逆向注 册码验证算法而写出来的和你一模一样的注册...

转:通过 Visual Studio 对 SQL Server 中的存储过程设置断点并调试

‍执行会在断点处暂停,此时,我们可以查看并更改存储过程的参数值,逐步地调试其各条语句,就像我们在步骤1 中所做的那样。   在我们可以对应用程序调用的存储过程进行调试之前,首先要指示ASP.NET web 应用程序与SQL Server 调试器相集成。首先,在 Solution Explorer 中右键单击网站名称(ASPNET_Data_Tutorial...

阿里云ecs自定义监控项

前言 阿里云提供了丰富的监控功能,其内置了非常多的监控项,不过可能平时的运维工作还是会遇到有些监控项需要自己添加的情况。阿里云自定义监控项需要用到阿里云的脚本文件,有python和shell两种模板,此处采用shell模板进行监控:http://imgs-storage.cdn.aliyuncs.com/help/jiankong/cms_post.sh?...

OD调试2----破解序列号验证程序

本文所用实验效果图如下,输入用户名和序列号,点击check: 首先我们来分析一下这个程序的运用流程, 我们的目的就是让其跳过错误的对话框,跳出正确对话框。那我们就要找到何处调用的这个函数。 第一步,按F3加载程序。 进入界面后,按F8运行程序,输入用户名和序列号。如下图: 然后点击check,程序会跳转到算法匹配,也就是验证用户名和序列号的地方。我...