首页 > 关于nodejs调试的问题?

关于nodejs调试的问题?

今天在七天学会nodejs遇到下面的程序,然后出现了下面的问题(问题现在已经解决,所以想问一下调试方面的问题):

//源代码
var fs = require('fs');
function copy(src, dst) {
    fs.writeFileSync(dst, fs.readFileSync(src));
}

function main(argv) {
    copy(argv[0], argv[1]);
}
main(process.argv.slice(2));
fs.js:500
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^
TypeError: path must be a string
    at TypeError (native)
    at Object.fs.openSync (fs.js:500:18)
    at Object.fs.readFileSync (fs.js:352:15)
    at copy (/home/quoniam/node/app.js:4:30)
    at main (/home/quoniam/node/app.js:8:5)
    at Object.<anonymous> (/home/quoniam/node/app.js:11:1)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)

我想进行调试,于是我找到了fs.js(在node的lib目录下)文件的第五百行,想要进行debug;
我尝试了两中方法:
第一种:在fs.js文件加console.log(path),
第二种:在fs.js文件加debugger。

提问:
但是上面两种方法都快速定位不到fs.js文件出错的那一行,所以我想请教各位大大,我应该怎样才能调试fs.js文件,即我怎样快速定位到fs.js文件?


找个带调试功能的IDE——我也不知道有啥,因为我一般就用 console.log,根据消息大概能定位,再写点 console.log 来找。


你这个错误信息,应该是命令行参数错误,你可以把那个process.argv都打出来看一下。

调试的话你可以参考我之前写的文章用Visual Studio Code写Node.js和Node.js调试

【热门文章】
【热门文章】