gpt4 book ai didi

conditional - 如何使 {$IFNDEF DEBUG} 在 lazarus/osx 项目中工作

转载 作者:行者123 更新时间:2023-12-02 02:32:45 28 4
gpt4 key购买 nike

我需要在调试器下运行时禁用一些代码。

所以,我只是想象这样做:

{$IFNDEF DEBUG} 
...
{$ENDIF}

然而,ifndef 中的代码在调试器中执行,使其崩溃。

我有 lazarus 0.9.29 & FPC 2.4.0

最佳答案

您提到的编译器指令实际上是:编译器指令,而不是调试指令。

它们与编译过程有关,完全独立于调试系统。

你要做的是:

  • 当你想调试程序时,定义DEBUG符号。这不会编译存在于测试中的 block ,也不会在调试 session 中运行。
  • 当您确实想要发布该代码时,只需取消定义 DEBUG,一切就绪,可以发布了。

你混淆了编译和调试并将它们放在同一个上下文中。
它们实际上位于完全独立的上下文中。
这可能是因为您在同一个 GUI 系统下编译和调试,但如果您编译程序,调试器查找的唯一内容就是断点。

希望对您有所帮助。

编辑:您可以通过程序/单元顶部某处的简单 {$DEFINE DEBUG} 定义它,或使用 Lazarus 选项 Pane 将其添加为命令行参数。

完成我的回答。

关于conditional - 如何使 {$IFNDEF DEBUG} 在 lazarus/osx 项目中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3097786/

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