![](/img/trans.png)
[英]TypeScript debug error - the breakpoint not currently be hit - when use special character
[英]Yet Another 'The Breakpoint will not currently be hit' error for a JS file in my startup project
我的公司雇用了另一家公司来重新编写我们的垃圾ASP / VB.NET Web应用程序,以使用C#,MVC 5和Razor View Engine。
今天,我们已经收到了项目,我在尝试确定为什么无法登录该应用程序时遇到了一些困难。
我们在一个内部测试环境中有一个工作副本设置,但是在尝试设置本地开发/测试环境时,我无法解决问题。 我的老板说他还没有设置,所以他不会有任何帮助。 我不知道是谁设置了质量检查的测试环境。
无论如何,我已经尽可能地将本地IIS设置与功能正常的测试环境上的设置进行了匹配。 当我启动该应用程序并输入凭据时,我仅看到一个旋转的“正在加载”图标,该图标随后消失并且不执行任何操作。 如果我输入了错误的数据或丢失了数据,则软件会以适当的错误提示我。
我试图在JS中设置一个断点,该断点被调用以验证登录表单,但是我只收到“断点将不是当前的,没有加载符号”错误。
该解决方案中有4个项目,所涉及的JS文件位于包含登录页面的启动项目中。
这个启动项目MyProject.Web
包含Views \\ Central \\ CentralLogin.cshtml文件和.... \\ Scripts \\ Central \\ Central.js文件(该视图确实引用了该文件)。
我去了Debug-> Modules,它告诉我.PDB已过时。 清理,重建并将文件复制到指定的目录(C:\\ Windows \\ SysWOW64 \\ inetsrv \\ MyProject.Web.pdb)。 重新启动该应用程序,并在我重新打开“符号加载信息”屏幕时显示“已加载符号”。 尽管如此,在JS中设置断点仍会出现相同的“未加载符号”错误。
我尝试过重新启动IIS,重新启动应用程序池,清理和重建我的解决方案,将新的pdb复制到它正在查看的文件夹中。 据我所知,我的IIS配置与我们的工作测试站点匹配。 我还尝试将解决方案更改为包含“多个启动项目”,而不是指定单个项目。
解决方案配置设置为配置:调试,平台:任何CPU。 我已经尝试过IE,Chrome和Firefox。 所有3个给出相同的结果。
有什么想法我还能尝试吗? 我引用了至少3个不同的StackOverflow帖子,指出此错误,但没有一种解决方案适合我。
我页面上的按钮定义如下:
<input tabindex="1" name="btnCredLogin" id="btnCredLogin" class=" button button-primary" type="button" value="Login" onclick="ValidateForm();">
在该按钮下方</html>
标记之外,是Razor代码的以下代码段:
@{
var jsReference = System.Configuration.ConfigurationManager.AppSettings["DOWNLOADVERSION"].ToString();
}
<script src=@Url.Content("~/Scripts/Central/Central.js?v=" + jsReference)></script>
就是包含按钮单击事件指向的ValidateForm()
方法的Central.js
文件。 jsReference
引用的应用程序设置键仅包含值"1.0"
。 因此,它正在寻找Central.js?v=1.0
。 我试着废弃了?v=1.0
,所以它只指向Central.js
,但不会改变结果。
对于为什么无法调试此JS文件,我绝对一无所知。 有什么线索吗?
我同意VS不是最好的调试工具。 我建议使用Chrome。 在Chrome开发人员工具设置中,点击F1并确保选中了“禁用缓存”。
为了进行健全性检查,我将破坏您的服务器的CentralLogin代码。 我经历了类似的情况,并且指向错误的服务器。 我再也回不到那三个小时了...
您的js回调是ValidateForm()。 我将在所有文件中搜索该方法名称。 也许还有另一个js文件在同一全局js范围内声明了此文件,并覆盖了您要查找的文件。
然后尝试在Chrome开发者工具中打开页面并转到“源”选项卡。 找到您的ValidateForm()函数并设置断点,然后重新加载页面。
您可以将ValidateForm()函数放在cshtml页面上的脚本块中,并带有警报以查看是否有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.