感谢任何能够提供一些关于正在发生的事情的见解的人。VS代码调试总是很挑剔,但是我有一个我认为应该工作的情况,它没有。
问题:我可以在typescript中设置断点,并在我的两个项目(服务器和common-internal)中进行调试,但不能在第三个项目(common-external)中设置断点。为什么我不能调试common-external,如何设置才能调试?VS代码找不到绑定断点的源代码。
我创建了一个简单的回购协议来重现我看到的问题:https://github.com/snotmare/debug-issue
重现步骤:
1.克隆存储库
1.运行3个初始化任务(用于公共内部、公共外部和服务器)
1.运行2个监视任务(用于公共内部和公共外部)
1.运行启动服务器任务
1.通过附加到进程来运行调试器
1.在server/src/index.ts中设置断点(works)
1.在common-internal/src/utils.ts中设置断点(works)
1.在common-external/src/external-utils.ts中设置断点(不起作用)
项目设置:
- 带有utils类的 typescript 项目(公共-内部)。
- 导入公共内部和公共外部的NodeJS服务器项目。
- 这两个项目都在同一个文件夹中,在同一根目录下有一个.vscode文件夹,用于任务和启动配置。
外部项目设置:
- 带有utils类的 typescript 项目(公共-外部)。
- 这是设置完全相同的共同内部,只是更名。
- 它有自己的.vscode文件夹用于任务配置。
服务器项目依赖于如下两个常见项目:
"dependencies": {
"common-internal": "file:../common-internal",
"common-external": "file:../../common-external/common-external",
"express": "4.18.2"
},
我认为该问题与文件夹结构有关,该结构如下所示:
root folder
- test-app
- - .vscode
- - common-internal
- - server
- common-external
- - .vscode
- - common-external
文件夹结构需要这样,因为我希望test-app在一个git repo中,而common-external在一个单独的git repo中。
我调试服务器时,为什么不能在common-external中设置断点并调试呢?谢谢您的帮助!
vscode的Github问题:https://github.com/microsoft/vscode/issues/169033
本
1条答案
按热度按时间kupeojn61#
我偶然找到了这个问题的解决方案。我能够更新我的launchiderjson文件的outFiles来查找工作区文件夹之外的文件...
在我的真实的(较大)项目中,vs代码调试器仍然很挑剔。有时候它能找到源文件,有时候不能。有没有其他人遇到过调试器的性能问题?