vscode-debugger - 本地调试 CluedIn 集成的最佳方法
问题描述
我一直致力于与 CluedIn 的多种集成。它们安装在本地 Docker 实例中,但我很难理解如何在 Visual Studio Code 中设置调试过程。
我已经将包 .dll 和 .pdb 文件加载到了线索din_default_server_1 容器上的 /app/ServerComponents 文件夹中。
如何将调试器附加到 CluedIn 集成以进行调试?
解决方案
这可能需要额外的步骤来使用 Visual Studio Code 进行调试,但使用 Visual Studio,这应该很简单。
假设您正在使用default
环境:
将 procps 安装到cluedin_default_server_1
容器中。
您必须附加为根。为此,可以像这样更改docker-compose.server.yaml
并添加user: root
之后server:
:
server:
user: root
或者您可以从命令行以 root 身份附加:
docker exec -it --user root cluedin_default_server_1 /bin/sh
当您在容器的外壳中时,请运行:apk add procps
。
复制 DLL 和 PDB
构建您的解决方案并复制下面的 DLL 和 PDB \Home\env\default\components\ServerComponent
(这default
是您的环境的名称)。
重新启动或重新创建容器
docker container restart cluedin_default_server_1
如果这不起作用,请尝试删除容器并运行.\cluedin.ps1 up
- 它会为您创建一个新容器。
从 Visual Studio 附加到进程
在 Visual Studio 中,点击Ctrl+Alt+P
或转到 Debug -> Attach to Process...
选择 Docker 连接类型和要调试的容器,然后选择dotnet
进程。过程必须是dotnet exec ... --Name ServerComponent
。
单击附加并选中托管复选框:
现在你应该可以调试你的代码了。
推荐阅读
- python - 由于无效的连接头,nginx 无法打开 websocket 连接:保持活动状态
- python-3.x - 有人可以向我解释这行代码中发生了什么吗?
- c++ - RegSetValueEx 返回成功,但注册表值未在 regedit 中更新
- python - 如何从 Python3 任意长度的字符串数组构建 QML ListElements
- jquery - HTML CSS 和 jquery:带有水平子菜单的菜单
- kotlin - 为什么 Kotlin 中的“浮动”会导致如此多的数据精度损失?
- c - 我的 Manndlebrot 套装有奇怪的伪影
- java - 单元测试的捕获与抛出异常
- python - 使用 tkInter 选择页面
- excel - 当其他单元格值更改时,如何将单元格值更新为“”?