JavaScript调试与MyEclipse源地图

使用本指南正确配置您的环境中使用源地图简化JavaScript调试。

这个页面细节JavaScript调试MyEclipse

注意:您可以使用CodeMix插件更好的JavaScript体验。CodeMix兼容MyEclipse 2017和更高的工作与现有专业或更高的许可。指在CodeMix调试为更多的信息。

源是什么地图?

很难调试JavaScript文件加载到浏览器或节点。js运行时由于transpilation(打印稿,CoffeeScript等等),缩小(minifyJS, UglifyJS等等),捆绑(Browserify等),从源文件或其他过程。通常生成的文件的代码难以理解或明显不同于原始的源代码。这就是地图进入图片来源。最受欢迎的处理工具可以产生并允许调试器代表当前代码执行上下文中的原始文件的位置。了解更多

如何配置我的工具来生成源地图吗?

利用源地图,你需要适当地配置您的处理工具。每个工具都有自己的特定的配置;因此,我们建议使用狼吞虎咽地吃作为项目的建造者,因为它允许您配置不同的工具以统一的方式在一个地方。然而,我们知道,它对每个人都不是最好的解决方案,因此我们将提供示例配置几个工具。

狼吞虎咽地吃

构建您的项目,我们建议使用杯作为其支持来源地图是最灵活的。CoffeeScript这里有一个例子:

饮而尽。任务(“咖啡”,function () {gulp.src (. / src / * .coffee) .pipe (sourcemaps.init ()) .pipe(咖啡({裸:真})。(“错误”,gutil.log) .pipe (sourcemaps。写({sourceRoot:“工作区:my-coffee-project / "})) .pipe (gulp.dest('。/构建/ '));});

如何正确地指定sourceRoot的更多信息,请参考以下问题。大口源映射使用的详细信息,请访问这个链接

Browserify

命令行的东西—“调试”参数;如。browserify主要。js调试

构建脚本的东西—browserify叫“调试:真”选项;如。browserify({独立:“主要”、调试:真正})

请注意,Browserify不允许您指定sourceRoot;它总是嵌入文件内容并保存绝对文件系统路径源文件在生成源地图。这意味着您不需要任何进一步配置工作区文件的链接,但您需要重建源当你移动你的项目文件系统上的一个不同的位置。

打印稿

最好使用tsconfig.json文件。如果你旁边生成JS文件TS文件,您只需要指定sourceMap属性为true,否则你还需要指定sourceRoot财产。下面是一个例子:

{" compilerOptions ":{“目标”:“es5”、“outDir”:“目标”、“sourceMap”:真的,“sourceRoot”:“工作区:my-ts-project /”},“文件”:“主要。ts”、“跑龙套。ts ")}

如何正确地指定sourceRoot的更多信息,请参考以下问题。详细信息在打印稿源映射支持访问以下链接:

https://github.com/Microsoft/TypeScript/wiki/tsconfig.json

https://github.com/Microsoft/TypeScript/wiki/Compiler-Options

我该如何指定源根?

使用JavaScript调试器最大的优势是,您可以将断点的文件从您的工作空间。然而,这与源地图,调试器必须知道在工作区中寻找适当的文件。有四种方法来指定的位置来源:

  1. 工作空间相对url模式“工作区”其次是名称的项目和路径内的项目。这是建议的方法使用的调试器,因为它是简单的,明确的和最便携。

    浏览器
    映射文件的位置,http://localhost: 8080 / my-web-project /地图/ generated.js.map
    源文件的名字,source.js
    源根- - - - - -工作区:my-web-project / src / main / js
    源,预计将在src / main / js / source.jsmy-web-project项目

    node . js
    映射文件的位置,C: /工作区/我的节点项目/目标/地图/ generated.js.map
    源文件的名字,source.js
    源根-工作区:我的项目/ src /节点
    预计在src / source.js我的节点项目项目

  2. 绝对路径指定源根文件系统路径代表一个文件夹

    浏览器
    映射文件的位置,http://localhost: 8080 / my-web-project /地图/ generated.js.map
    源文件的名字,source.js
    源根- - - - - -C: / my-web-project / src /工作空间
    源,预计将在C: / Workspace / my-web-project / src / source.js
    进一步执行工作区中的文件的位置

    node . js
    映射文件的位置,C: /工作/项目/目标/地图/ generated.js.map
    源文件的名字,source.js
    源根- - - - - -C: /工作/项目/ src”
    源,预计将在C: / Workspace /我的项目/ src / source.js
    进一步执行工作区中的文件的位置

  3. 相对于源映射文件路径解决对源映射文件的位置或原始文件如果你有内联源映射;要求源文件可以解决下位置。

    浏览器
    映射文件的位置,http://localhost: 8080 / my-web-project /地图/ generated.js.map
    源文件的名字,source.js
    源根- - - - - -. . /来源
    源,预计将在http://localhost: 8080 / my-web-project / / source.js来源
    进一步从URL映射到工作区发生根据您的Web应用程序启动设置

    node . js
    映射文件的位置,C: /工作/项目/目标/地图/ generated.js.map
    源文件的名字,source.js
    源根- - - - - -. . / . . / src
    源,预计将在C: / Workspace /我的项目/ src / source.js
    进一步执行工作区中的文件的位置

  4. 主机相对路径解决网页主机名。这种模式只能使用JavaScript的Web应用程序,它需要解决下的源文件可用的位置。

    浏览器
    映射文件的位置,http://localhost: 8080 / my-web-project / js /地图/ app / generated.js.map
    源文件的名字,app / source.js
    源根- - - - - -/ my-web-project /来源
    源,预计将在http://localhost: 8080 / my-web-project / / app / source.js来源
    进一步从URL映射到工作区发生根据您的Web应用程序启动设置

我怎么知道在工作区中如果找到源文件吗?

你可以检查加载脚本的浏览器或节点。js JavaScript加载视图中。的脚本节点提供源地图,就可以扩展,你会看到所有源文件的列表。每个文件可以位于工作区使用链接图标标记有关和每个文件无法被标识为一个警告信号无关。你仍然可以看到文件的内容,即使它们不是位于工作区。

LoadedJSViewMap
加载JavaScript视图显示在工作区中哪些文件

如果我没有在工作区中源文件吗?

如果你有配置源地图包含的内容,你将能够看到和使用调试这些嵌入式资源,即使在工作区中无法找到源文件。此外,这些嵌入的来源将自动使用当你探索堆栈跟踪。

我能将断点在javascript /打印稿的文件吗?

断点与其他语言,如CoffeeScript。所有你需要做的就是与JavaScript编辑器打开该文件。最好指定协会从通用>编辑>首选项文件关联。在列表中找到你的文件扩展名或使用Add按钮来添加一个新的扩展。点击它并添加JavaScript编辑器或MyEclipse JavaScript编辑器列表。确保它是默认的。如果你使用一些专门的编辑没有js / TS文件,请让我们知道通过support@genuitec.com,我们将确保你的编辑器支持,您可以将断点。

如何禁用源映射支持?

禁用源映射支持,打开你的调试启动配置和清除启用源映射支持复选框。

Baidu
map