我在尝试使用eurekalog部署应用程序时遇到问题,以解决特定情况下发生的某些内存泄漏问题。当我将我的应用程序项目配置为在delphi IDE下使用eurekalog并通过IDE运行时,它可以很好地工作,报告泄漏和异常。当我在IDE外部运行exe时,它不会报告任何内容。
是否有使用eurekalog部署应用程序的特殊配置?
感谢
答案 0 :(得分:1)
IDE不会报告任何内容......应该有一个来自EurekaLog的窗口提供调用堆栈和其他一些信息。来自EurekaLog official documentation:
简短回答:
要解决非工作,部分或误导性调用堆栈的问题 - 清除项目的.map,.tds和.dcu文件,并确保: ●(Delphi)启用“编译器”/“调试信息”,“链接器”/“映射文件”=“详细”。 ●(C ++ Builder)启用“C ++编译器”/“调试”/“调试信息”,“C ++编译器”/“调试”/“调试行号信息”,“C ++链接器”/“完全调试信息”,“C ++链接器” “/”输出“/”地图文件“=”详细的分段地图“。
- 醇>
要提高EurekaLog的帮助级别: ●(Delphi)启用“编译器”/“堆栈帧”,“编译器”/“范围检查”和“编译器”/“使用调试DCU”选项并进行“项目”/“全部构建”。 ●(C ++ Builder)禁用“C ++链接器”/“输出”/“带有损坏名称的映射”选项,为您的应用程序启用CodeGuard(某些选项可能与EurekaLog冲突)。
如果这没有帮助,您应该提供更多信息:当您的应用程序触发异常时会发生什么?是否出现EurekaLog窗口?
答案 1 :(得分:0)
EurekaLog对你想要的东西有点过分(它也会将编译时间增加3-5倍)。如果您只想检测内存泄漏,请使用FastMM4。它已经与Delphi一起提供,并且比EurekaLog便宜(便宜=免费:))。
How to enable full debug mode in FastMM4?
PS:如果你真的必须使用EurekaLog,请使用v6。 v7完全不稳定。
答案 2 :(得分:0)
您忘记关闭"Active only when running under debugger" option(默认情况下已启用)。