首页 > 解决方案 > 如何调试插件到闭源 exe?

问题描述

我正在为 AIMP 音乐播放器编写一个插件,它本身是封闭源代码,但有添加插件的文档。该界面在 Delphi 中可用,因此我正在研究如何使用 RAD Studio Delphi 10.3 社区版。

我偶然发现了以下任何一种情况:

我已经设置了运行参数,以便在我按下“运行”时实际启动 AIMP 程序。我也启用了Tools > Options > Debugger > Embarcadero Debuggers > Debug spawned processes. 但是,程序并没有在我的断点处停止,并且断点X前显示了一个灰色图标。

原来这是因为我在 AIMP 插件目录中也有一个已编译的 dll 版本,所以它加载的是旧版本,而不是我新编译的版本。但即使我删除了旧版本......我怎样才能让它真正调用新版本?当我构建我的 dll 并将其粘贴到 AIMP 的插件目录中时,它将被加载并且设置屏幕会反映这一点。当用户修改设置时,我什至可以显示一个消息框。但是复制 dll 意味着我不能在断点处停止。

如何使调试器在断点处停止,以便我可以单步执行程序,理想情况下能够查看局部变量的值?

标签: delphirad-studio

解决方案


下面Project > Options > Building > Delphi Compiler有选项Output directory正如@Brian此评论中所建议的那样,将相关构建配置的此路径设置为 AIMP 插件目录就可以了。 项目选项的屏幕截图


推荐阅读