假设我有一个nodejs应用程序运行在AWS-AmazonCloudPlatform(AmazonWebService)上。我想使用本地VisualStudioCode远程调试服务器端nodejs应用程序。VisualStudioCode的调试配置中定义了两种类型,attach和launch。VisualStudioCode的官方文档解释了两种调试启动行为:解释启动和附加之间区别的最佳方法是将启动配置视为如何在VSCode附加到它之前以调试模式启动应用程序的方法,启动意味着简单地以调试模式启动应用程序。而附加配置是如何将VSCode的调试器连接到已在运行的应用程序或进程的方法。Attach的意思是将VisualStudioCode的调试器绑定到一个已经在运行的应用程序上。因为我的需求是使用本地VisualStudioCode来调试运行在AWS上的nodejs应用,毫无疑问我应该选择Attach。点击调试配置按钮:会自动弹出保存调试配置信息的launch.json文件:将launch.json的内容替换为以下内容:{//使用IntelliSense了解可能的属性。//悬停以查看现有属性的描述。//更多信息,请访问:https://go.microsoft.com/fwlink/?linkid=830387"version":"0.2.0","configurations":[{"type":"node","request":"attach","name":"Jerry'sfirstdebugconfig","address":"127.0.0.1","port":9221}]}这个配置文件的意思是告诉VisualStudio的调试过程代码,连接到127.0.0.1:9221上的应用程序调试进程进行调试。当然最后一步我们还需要使用ssh将本地的127.0.0.1:9221与AWS上的调试进程进行绑定。ssh-iC:Usersi042416.sshKOI.pem-L9221:localhost:9229ubuntu@amazonaws.com一切准备就绪后,做一个操作触发AWS上nodejs应用的执行。例如,我在AWS上部署了一个nodejs应用程序作为我的github存储库的webhook。每当我在这个仓库中创建一个问题时,github网站都会将一个事件推送到我的webhook。现在我创建了一个名为testcreateissue的问题。单击“关闭”按钮后,问题关闭事件将自动发送到我的AWS应用程序。大家可以看到下图中触发的断点,这样我就可以使用本地的VisualStudioCode来远程调试AWS应用了。获取更多Jerry原创文章,请关注公众号“王子熙”:
