(本章使用WebStorm调试node项目中的Ts代码)
调试
程序调试,就是在程序中设置断点,让程序在运行时,在断点处能够停下来,检查相关变量和表达式的值,以判断逻辑上出错的位置,并能够进行程序跟踪,寻找逻辑上出错的位置,并加以改正。
优点
- 可以看到代码的运行顺序是否和预期一致
- 可以在运行的同时看到每一步的结果
步骤
1.启动Debug
1)、右键文件的空白处(此种适用于单个文件的运行调试)
一.jpg
2)、点击右上方绿色的小乌龟(此种适用于整个项目的调试运行,前提是需要配置启动文件和启动命令)

二
2.设置启动文件和启动命令
在WebStorm右上角找到这个下拉框点击
添加配置
进入该页面后点击"+"号可以自己选择创建对应的项目配置

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

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

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

断点
只需要在文件的左侧行数位置左键点击一下出现如图的红点即可,再次点击取消
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 里面可以用来输出一些变量进行下一步操作。