gpt4 book ai didi

delphi - DLL 断点没有被 "remote debug symbols"选项命中,为什么以及这些有任何安全风险吗?

转载 作者:行者123 更新时间:2023-12-03 15:11:56 25 4
gpt4 key购买 nike

我遇到了一个大问题,在 Delphi 6 DirectShow DLL 中没有命中断点。我将在 IDE 中加载 DLL (AX) 并使用 Graph Edit 作为主机程序运行它,并且不会触发任何断点。我尝试将 FastMM4 DLL 移动到项目目录,完全删除 FastMM4,打开和关闭调试 DCU,清理项目目录,取消注册并重新注册 DLL,我能想到的一切。什么都没起作用。每次运行主机程序时,我都会在事件查看器中看到 DLL 加载并显示消息“无调试信息”。然后,在绝望的 Google 搜索中,我找到了一篇关于 C++ Builder 的帖子,建议尝试“远程调试符号”链接器选项:

Project -> Options -> Linker (Tab) -> Exe and DLL options (group box) -> "Include Remote Debug Symbols" (checked it)

突然我的断点开始被击中。这是我的问题:

1) 为什么这有效?是因为该选项还是因为该选项触发了其他一些编译器/链接器操作来修复问题?我想知道,以便将来再次发生此问题时可以可靠地解决该问题。

2) 恶意程序员是否可以使用远程调试符号来深度跟踪我的程序?换句话说,如果将它们随意放置会存在安全风险吗?

最佳答案

1) 这是因为选项。如果没有调试符号信息,您的 IDE 将不知道在哪里设置断点。调试 DCU 与此无关——该选项链接到包含调试信息的另一组 VCL DCU,以便您可以设置断点。有用的提示:根据 Delphi 的版本,这些 DCU 实际上并不总是与其调试符号同步。

2) 调试符号/映射文件不应在发行版中消失,特别是在程序处理的信息以任何方式敏感的情况下。这适用于任何编程语言。

如果您需要在软件发布后对其进行诊断的能力,请合并异常、错误和断言处理,以便为您提供足够的信息来从日志中分类错误。

关于delphi - DLL 断点没有被 "remote debug symbols"选项命中,为什么以及这些有任何安全风险吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8994221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com