问题标签 [madexcept]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - 错误报告上传脚本
我正在使用可以在此处找到的 php 脚本http://forum.madshi.net/viewtopic.php?f=4&t=26188来报告 mad 的错误,但在我的应用程序中除外。
当我手动访问该 url 时,我收到一封空邮件,所以我想这很好,但我已将相同的 url 放入 madExcept 并且我没有收到任何东西。
上传框不显示任何错误。
有人有这方面的经验吗?
delphi - 某些 HTTP 请求上的奇怪 TCP 重置 (RST)
我们有一个用 Delphi 编写的应用程序,它使用Delphi On Rails并充当服务器并使用 HTTP、JSON 和 websockets 与客户端通信。我们最近遇到了一些问题,很难调试它们并找到问题的根源。
使用 Wireshark 进行流量分析,我们可以看到以下行为: 有来自客户端的请求(对文件的 HTTP GET)。通常,我们处理该请求并发送 HTTP 状态代码、文件(如果未缓存)等。但是,我们有一个可重现的问题,即只有来自客户端的请求、来自服务器的 TCP SYN,但在那之后,服务器发送一个 RST 数据包,TCP 通信停止。
奇怪的是,我们可以很好地重现该问题(尽管 RST 数据包中断通信的文件不同),并且在以下情况之一中它神秘地消失了:
- 在调试环境(Delphi IDE)中,禁用madExcept
- 在发布环境中,不使用 madExceptPatch 修补可执行文件
- 将焦点放在与主应用程序窗口不同的窗口上。
由于我们在使用 Delphi On Rails 时遇到了一些问题,并且不得不对其进行小幅修改以避免访问冲突和调试异常,我怀疑 DOR 是罪魁祸首,一些奇怪的内存损坏或未捕获的异常是错误,但它仍然令人困惑,特别是如果我们改变焦点,问题就会消失。
我的主要问题不是如何解决这个问题,而是如何调试它以及在哪里寻找问题。TCP 重置的来源也让我感到困惑,因为在这种情况下我们没有遇到处理请求的常用程序,而且似乎 DOR 或其他东西(应用程序、Winsock、操作系统)错误地重置了连接。
为了完整起见,因为它可能是相关的,这里是我在 Delphi On Rails 项目中报告的问题以及我向 madExcept 作者询问该问题的论坛主题:问题 #6、问题 #7、问题 #8、论坛条目。
delphi - MadExcept 在 try finally 时触发
我正在使用 MadExcept 来调试我的应用程序。这是一个优秀的框架,尽管当 try finally block 发生异常时,它仍然会显示那个丑陋的框,并且用户认为应用程序已经崩溃。
我怎样才能删除它?有办法吗?
delphi - 在 Delphi 应用程序中检测 madexcept
我可以仅通过分析 exe 文件来检测 delphi 应用程序中是否使用了 madexcept 吗?
有没有一种简单的方法,通过在我的应用程序中添加几行代码并通知最终的 exe 文件用户是否使用了 madshi madexcept
delphi - madExcept 可以冻结我的 Delphi 应用程序吗?
我有一个使用 madExcept 3.0m 的基于 Delphi 5 的应用程序。由于 madExcept,我很欣赏它的质量,因此它通常不会因为任何事情而受到责备,因此它似乎冻结了。
这是代码:
它没有抛出任何异常,只是在阅读时似乎冻结了FrozenMsg
:(
来源:quodata.de)
它不会发生在我的任何计算机上,但会发生在客户计算机上。madExcept 的 MESettings 怎么会导致这种行为。我应该如何调试这个?
msbuild - 在 Team CIty 中构建时找不到 madExcept.obj
我使用Team City构建了一个C++ Builder 2010项目,并注意到我在添加madExcept时遇到了问题。该构建抱怨找不到MADEXCEPT.OBJ。我的猜测是在C++ Builder 2010 IDE中添加的标准包含路径不会传播到Team City构建。由于.cbproj文件没有提及madExcept的位置,因此构建失败。我是对的,我该如何最好地纠正这个问题?在Build Agent上的IDE中构建工作正常,甚至使用RAD Studio 命令提示符,就在Team City正在构建它失败了。更奇怪的是,在使用RAD Studio 命令提示符时没有设置指向madExcept的变量,但它仍然有效。
delphi - 应用程序崩溃后,delphi 的 MadExcept 不打印堆栈跟踪
详细问题:
我们正在尝试在 delphi 应用程序中使用 MadExcept 捕获堆栈跟踪 (bugreport.txt),其中一个线程因致命错误而导致应用程序崩溃。但是 MadExcept 在应用程序崩溃后不会打印任何堆栈跟踪。任何想法为什么?
我们的代码:
当客户端与服务器建立 websocket 连接时,将调用此过程。这是由 Indy TCPServer 组件生成的线程。HTMLExecute 函数用于在客户端和服务器之间读取和写入数据包。我已经将它包装在 try..except 块中以捕获任何异常。LogData 行将错误记录到错误日志中,madExcept 行应该创建 bugreport.txt 文件。Raise 行将异常传递回 Indy,以便它知道发生了致命错误并中止线程。
delphi - 在构建完全完成后运行构建后过程
我正在使用 Delphi XE2 和 madExcept。我想在构建完成后运行一个进程,包括在构建过程结束时发生的 madExcept 东西。
将我的批处理文件放入post-build events
导致我的批处理文件在 madExcept 内容完成之前运行。我想也许我可以使用 DOSstart
命令生成一个分离的进程,该命令会暂停几秒钟,以便构建可以完成,然后暂停的进程可以执行其任务。我尝试了以下作为构建后命令:
然而,Delphi 并没有打开一个单独的窗口并继续构建过程,而是打开一个窗口,等待 5 秒,运行RunPostBuild.bat
,然后完成构建过程。结果是一样的; 在madExcept 做它的事情之前RunPostBuild.bat
仍然运行。
有谁知道如何在构建过程结束时真正自动运行一个进程,包括 madExcept 的东西?
delphi - 捕获来自不同线程的未处理异常
我正在编写 IPC 应用程序。我想从进程 B 静默捕获异常,然后将异常详细信息作为字符串发送到进程 A。我能够从主线程捕获异常,但在从不同线程捕获异常时遇到问题。
有没有办法从所有线程中捕获异常?异常可能由不同线程中的第三个库或 ActiveX 控件引发。
delphi - 将调用堆栈记录到文件中
我正在使用 Madexcept 工具记录异常,但我无法定期记录调用堆栈。任何人都可以建议我如何记录调用堆栈。