vscode单步调试node程序,进入不到方法内部

问题描述

vscode单步调试node程序,进入不到方法内部_第1张图片

在需要的调试的语句前打上断点,点击运行旁边的小虫子,
vscode单步调试node程序,进入不到方法内部_第2张图片

点击运行的小三角,

vscode单步调试node程序,进入不到方法内部_第3张图片

点击单步调试,但是会直接进入下一行,进入不到node 的内部模块中去。

解决方法

vscode单步调试node程序,进入不到方法内部_第4张图片
打开launch.json 的配置文件

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "启动程序",
      "skipFiles": ["/**"],
      "program": "${workspaceFolder}\\useA.js"
    }
  ]
}

其中 skipFiles: 代表调试的时候忽略的文件,

/**: 代表node中的内部模块

"skipFiles": ["/**"], 代表跳过node 中的内部模块,想要单步调试时查看node的源码,需要将这句话清除掉

关于 launch.json 的配置 参考
参考一:vscode官方文档
参考二:https://blog.csdn.net/ustczhng2012/article/details/102579346

{
    {
        "version": "0.2.0",
        "configurations": [
            {
                "version": "0.2.0",
                "configurations": [],
                "compounds": []
            },
            {
                // 配置名称,将会在启动配置的下拉菜单中显示
                "name": "C++ Launch (GDB)",
                // 配置类型,这里只能为cppdbg
                "type": "cppdbg", 
                // 请求配置类型,可以为launch(启动)或attach(附加)                          
                "request": "launch",
                // 调试器启动类型,这里只能为Local
                "launchOptionType": "Local", 
                // 生成目标架构,一般为x86或x64,
                // 可以为x86, arm, arm64, mips, x64, amd64, x86_64               
                "targetArchitecture": "x86", 
                 // 将要进行调试的程序的路径               
                "program": "${workspaceRoot}", 
                // miDebugger的路径,注意这里要与MinGw的路径对应
                "miDebuggerPath":"D:\\mingw\\bin\\gdb.exe",
                // 程序调试时传递给程序的命令行参数,一般设为空即可 
                "args": [], 
                // 设为true时程序将暂停在程序入口处,一般设置为false                                
                "stopAtEntry": false,
                // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录                       
                "cwd": "${workspaceRoot}",  
                // 调试时是否显示控制台窗口,一般设置为true显示控制台                
                "externalConsole": true, 
                // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc                   
                "preLaunchTask": "g++"                    
            }
        ]
    }
}

你可能感兴趣的:(js)