在 Delphi 中查找未使用的(又名“死的”)代码

2023-11-24

是否有任何工具可以确定是否使用了函数/过程/方法/整个类?

我见过一些工具可以帮助知识渊博的开发人员追踪未使用的代码片段(大多数适用于 Delphi 以外的语言),但大多数都有一个陡峭的学习曲线和/或需要大量的挖掘来确定是否使用了代码片段。

据称,Delphi 的智能链接器这样做是为了减少最终可执行文件的大小。不幸的是,智能链接器上提供的少量信息并没有表明检索从堆中剔除的内容的方法。

诚然,即使有可能找出智能链接器正在消除的内容,它的剔除也可能非常保守。


虽然笨拙且不是全局的,但您可以检查页边空白处的点的源代码,如下所示。您可以在这些行上设置断点,因为代码尚未消除死代码。

我相信,这种情况发生在程序层面。我不知道有什么方法可以在不太粗略的水平上确定这一点。

alt text

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Delphi 中查找未使用的(又名“死的”)代码 的相关文章

随机推荐

  • 如何自动更新 Windows Mobile 应用程序

    我有一个 net cf 3 5 Windows Mobile 应用程序 我的客户希望它具有自动更新功能 这是我到目前为止所拥有的 使用智能设备 CAB 项目创建 CAB 这是否足够好 或者我应该在这里做其他事情 2 获取应用程序版本号 As
  • iOS - 关闭作为 inputView 呈现的 UIDatePicker

    我的 UI 中有一个文本字段 当选择它时会显示 UIDatePicker 而不是默认键盘 我如何设置一个按钮以便在用户完成后关闭选择器 我所做的是将我的 inputView 作为自定义视图 其中包含UIDatePicker其上方有一个工具栏
  • $this->load->model() 在 CodeIgniter 中不起作用

    我正在使用 CodeIgniter 2 1 2 这是我现在的情况 我有一个名为 math php 的模型C wamp www cr8v application models 我正在尝试将其加载到我的控制器中C wamp www cr8v a
  • Ajax文件下载问题

    我正在我的应用程序中下载动态文件 使用 iframe 模拟 ajax 我正在做的是 当发出下载请求时 我将创建一个动态的不可见 iframe 并将 iframe 的 src 设置为下载网址 我能够成功下载文件 但要求是显示下载一旦下载开始
  • jQuery 1.10.1 在选择上设置不存在的值

    有人可以解释一下这种行为
  • Java内存模型中的Happens-Before关系

    关于 JLS ch17线程和锁 它表示 如果一个操作发生在另一个操作之前 则第一个操作对第二个操作可见并且在第二个操作之前排序 我想知道 1 之前订购 到底是什么意思 因为即使action a发生在action b之前 在某些实现中acti
  • Bootstrap 3+Rails 4 - 某些 Glyphicons 不工作

    我正在尝试在我的 Rails 4 应用程序中使用 Bootstrap 3 已关注this使用 bootstrap saas 设置 bootstrap 3 的教程thisgithub 页面 Bootstrap 工作正常 但字形图标未按预期工作
  • C# 如何正确地对遵循装饰器模式的类进行单元测试?

    我对单元测试相当陌生 我们说话时我实际上正在研究它 我的目标当然是能够在下面的类中测试该方法 该类只是检查输入是否已经在缓存中 如果输入不在缓存中 它将返回输入的反转形式 虽然实现不在这里 但假设它存在 因为目的只是为了测试 基本上 目标是
  • 获取与 int 值关联的枚举

    以前 我将 LegNo 枚举简单定义为 NO LEG LEG ONE LEG TWO 并通过调用return LegNo values i 我能够获得与每个枚举相关的值 但现在我决定我想要LegNo enum NO LEG为 int 1 而
  • 如何传递列表元素作为引用?

    我将列表的单个元素传递给函数 我想修改该元素 从而修改列表本身 def ModList element element TWO l list l append one l append two l append three print l
  • 在 iOS/Swift 中创建并导出为 Base64 的 RSA 公钥在 Java 中无法识别

    TL DR 在 iOS 中生成并存储在钥匙串中 导出为 base64 并发送到 java 后端的 RSA 公钥无法识别 我正在 iOS 应用程序中实现聊天加密功能 并使用对称 非对称密钥来处理它 无需过多讨论细节 在后端 我使用用户的公钥来
  • 将.net core 5.0发布到单个exe文件中

    有谁能够帮助我 我正在尝试将我的 net core 控制台应用程序发布到单个文件中 我正在使用这个命令 dotnet publish r win x64 c Release p PublishSingleFile true p Publis
  • 如何在不登录 Xcode 8 的情况下构建 IPA

    我已经在SO和其他地方进行了搜索 我只发现这个答案的旧版本似乎不再起作用 还有大量其他内容甚至与最新版本不相关 长话短说 我们有一位开发人员向我们提供了 IPA 但他不想加入我们的开发人员小组 我告诉他给我们发送一个未签名的 IPA 但我们
  • 如何访问 Windows 中的特殊目录?

    在 Windows 上检索用户桌面 文档文件夹和其他系统文件夹的 C 语法是什么 您可以使用环境 GetFolderPath与环境 特殊文件夹枚举 例如 string desktopPath Environment GetFolderPat
  • WPF MVVM KeyBinding 无法立即识别并且并不总是有效

    无论出于何种原因 当我的 WPF 应用程序加载时 我的 UserControl 的 KeyBindings 就无法工作 它们在我按下表单上的按钮后起作用 但当我通过单击或 alt tab 键或移动或类似方式将焦点设置到表单时则不起作用 当它
  • Angular7 - 无法绑定到“dataSource”,因为它不是“mat-table”的已知属性

    我正在使用 Angular 7 0 2 在尝试使用以下命令创建表时遇到此错误角材料 无法绑定到 dataSource 因为它不是 mat table 的已知属性 应用程序路由 module ts import NgModule from a
  • 全新安装 Rails 并收到 OpenSSL 错误:“已经初始化常量 OpenSSL”

    我在尝试使用 RoR 时遇到了困难 我参加了 Ruby Installfest 但遇到了一个问题 我认为是 openssl bundle 我正在使用 RVM 并运行 Rails 5 0 1 和 Ruby 2 4 0 我尝试使用完全删除 重新
  • 如何在 Ruby on Rails 上制作“数据透视表”?

    首先 我想提一下 我对 Ruby 和 Rails 完全陌生 我才刚开始学习 所以如果我的问题看起来有点不清楚或太宽泛 我深表歉意 我正在尝试做一些简单的事情 我认为 即旋转表格 我有一个看起来像这样的表 Name Product ID Am
  • 使用颜色图作为第四维(x、y、z 的函数)绘制 3D 表面

    我正在尝试绘制一个 3d 表面 其中三个维度中的每一个都位于单独的值数组中 并且每个坐标处的表面颜色是 x y z 的函数 一种 numpy pcolormesh 但是 4D 而不是 3D 3D 图由下式给出 from mpl toolki
  • 在 Delphi 中查找未使用的(又名“死的”)代码

    是否有任何工具可以确定是否使用了函数 过程 方法 整个类 我见过一些工具可以帮助知识渊博的开发人员追踪未使用的代码片段 大多数适用于 Delphi 以外的语言 但大多数都有一个陡峭的学习曲线和 或需要大量的挖掘来确定是否使用了代码片段 据称