8

我需要在 Winforms 项目中嵌入 HTML 并从中调用 Javascript 函数。我在 ac# 项目中使用 webBrowser 控件并调用:

webBrowser.Navigate("website");
return webBrowser.Document.InvokeScript("myMethod", new object[]{"test"});

当调试器位于“myMethod”中时,如何调试代码的执行?

有这篇关于如何从 IE 调试 HTML 的文章:http: //www.codeproject.com/Articles/18921/Using-Visual-Studio-to-Debug-JavaScript-in-IE

我不知道它有多相关。

4

2 回答 2

14

在您网站的“myMethod”函数中添加以下“调试器”行 -\

function myMethod(arg1, arg2)
{
    // when myMethod executes you will get prompt that with which 
     // debugger you want to execute
    // then from prompt select "New Instance of Visual Studio 2xxx"
    debugger; 

    //
    ...
    ...
}

“debugger”语句将提示调试 JavaScript。

当 myMethod 执行时,您将收到提示,您要使用哪个调试器执行,然后从提示中选择“Visual Studio 2xxx 的新实例”

希望这会有所帮助。

于 2012-08-20T12:07:30.640 回答
2

除了 Parag 提到的方法之外,您还可以在 Visual Studio 中显式附加调试器并选择Attach to: Script code

在此处输入图像描述

完成后,您将获得所有打开的脚本以在 Visual Studio 中显示为脚本文档,并且您可以在任何这些脚本中设置断点。您可以为多个调试会话重用同一个实例。您还可以打开 JavaScript 控制台和 DOM Explorer,让您可以访问与完整 Internet Explorer 相同的工具。

在此处输入图像描述

此处的博客文章中的更多详细信息:https ://weblog.west-wind.com/posts/2017/Jul/06/JavaScript-Debugging-in-a-Web-Browser-Control-with-Visual-Studio

注意:Visual Studio 2019 使脚本调试更难设置,不幸的是不再支持控制台视图/评估窗口。您仍然可以单步调试和调试值,但无法进行实时评估或查看console.log输出。

于 2017-07-09T17:28:44.400 回答