使用WebStorm自带的Debug调试TS代码

(本章使用WebStorm调试node项目中的Ts代码)

调试

程序调试,就是在程序中设置断点,让程序在运行时,在断点处能够停下来,检查相关变量和表达式的值,以判断逻辑上出错的位置,并能够进行程序跟踪,寻找逻辑上出错的位置,并加以改正。

优点

  • 可以看到代码的运行顺序是否和预期一致
  • 可以在运行的同时看到每一步的结果

步骤

1.启动Debug

1)、右键文件的空白处(此种适用于单个文件的运行调试)
一.jpg

2)、点击右上方绿色的小乌龟(此种适用于整个项目的调试运行,前提是需要配置启动文件和启动命令)

2.设置启动文件和启动命令

在WebStorm右上角找到这个下拉框点击
添加配置

进入该页面后点击"+"号可以自己选择创建对应的项目配置
选择对应的项目进行配置

再之后把项目启动文件路径和启动命令(根据自己项目而定)写入对应的配置行即可保存退出
写入启动命令

这时可以看到右上角变成了刚才配置的文件,并且后面的运行按钮和Debug按钮变成绿色可点击,点击运行即可启动项目,但Debug需要进一步设置才能看到效果。
6BC62C692DFF8A1A4461C38899F0A0F1.jpg

3.断点

顾名思义就是在代码某一处打上了断点,当程序跑到你设置的断点位置处,则会中断下来,此时你可以看到之前运行过的所有程序变量。

(PS:因为Ts代码实质上是先编译成js文件再去执行,所以断点需要打在对应的js文件上,一定要找准想断点的Ts文件对应的位置,这点是最麻烦的事情了)
断点

只需要在文件的左侧行数位置左键点击一下出现如图的红点即可,再次点击取消

4.启动

如果是单个文件的运行,启动后会在断点处卡住。如果是启动项目,则需要访问对应的路由接口才能触发断点。


触发

图中蓝色行是触发端点行,此时程序会停留在此处,并且可以在对应的行末或者控制台看到之前的全部变量。

5.继续执行

首先是侧边功能按钮:


功能按钮

其次是重要的顶部功能按钮:

顶部功能按钮
  • Step Over:在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。有一点,经过我们简单的调试,在不存在子函数的情况下是和Step Into效果一样的(简而言之,越过子函数,但子函数会执行)。
  • Smart Step Into:进入自己编写的函数,不进入系统函数,很少用到。
  • Step Into:单步执行,遇到子函数就进入并且继续单步执行(简而言之,进入子函数)。
  • Force Step Into:强制进入,在调试的时候能进入任何方法。
  • Step Out:当单步执行到子函数内时,用Step Out就可以执行完子函数余下部分,并返回到上一层函数。
  • Run to Cursor:回到光标处,用在循环内部时,点击一次就执行一个循环。

6.控制台

Console

Debugger Console 里面可以用来输出一些变量进行下一步操作。

总结:F7进,F8下,F9跳。即设置好断点,debug运行,然后 F8 单步调试,遇到想进入的函数 F7 进去,想出来在 shift + F8,跳过不想看的地方,直接设置下一个断点,然后 F9 过去。总的来说IDE自带的这个Debug功能还是很方便调试的,这样可以避免在代码里使用console多处输出,有可能提交代码时忘记删除等等问题。不过因为笔者使用的是Ts,所以需要在对应的Js文件中断点才可以使用 -_- 囧

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。