问题标签 [error-reporting]
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.
python - 如何检索自动报告并将其保存到数据库?
我有一个网络服务器,可以接受 Python、PHP 或 Perl 中的脚本。我对这些语言中的任何一种都不太了解,但在这三种语言中,Python 似乎最不可怕。它有一个 MySql 数据库设置,我知道足够的 SQL 来管理它并为它编写查询。
我还有一个程序,我想向其中添加自动错误报告。出了点问题,它会向我的服务器发送错误报告。
我不知道如何编写一个 Python 脚本,它将位于 Web 服务器上,当我的程序发送错误报告时,请执行以下操作:
- 接收错误报告。
- 将其解析为多个部分。
- 将其插入数据库。
- 让服务器给我发一封电子邮件。
据我所知,如果我只知道自己在做什么,这似乎应该不会太难。有人可以将我指向一个解释我需要创建这样的脚本的基本原则的网站吗?
windows - Win32:如何崩溃?
我试图找出 Windows 错误报告的保存位置;我今天早些时候点击了发送,但我忘记了我想“查看详细信息”,以便我可以检查内存小型转储。
但我找不到它们的存储位置(谷歌也不知道)。
所以我想编写一个会崩溃的虚拟应用程序,显示 WER 对话框,让我单击“查看详细信息”,这样我就可以进入保存转储的文件夹。
我如何在 Windows 上崩溃?
编辑:我问的原因是因为我试过溢出堆栈,浮点除以零。Stack Overflow 使应用程序消失,但没有弹出 WER 对话框。浮点除以零导致 +INF,但没有异常,也没有崩溃。
error-reporting - 当报告的软件问题不是真正的软件问题时
抱歉,如果这已经被覆盖,或者您认为它确实属于 wiki。
我是一家为生物科学行业制造微阵列印刷机的公司的软件开发人员。我主要参与通过 C++ 中的 GUI 开发与各种硬件(气动、液压、步进电机、传感器等)接口,以将样本吸出并打印到微阵列载玻片上。
加入公司后,我注意到每当出现与硬件相关的问题时,这都会导致整个设置冻结,没有人更清楚具体问题是什么 - 硬件/软件/滥用等。从那以后我已经改进了通过引入软件超时和异常处理来更好地识别和处理出现的任何与硬件相关的问题,例如 PLC 命令未成功完成、不适当的 FPGA 响应命令以及各种其他死锁类型条件等。此外,软件现在将记录总结具体问题,通知用户并优雅退出线程。该软件不是嵌入式的,只是使用串口连接。
尽管已经取得了成就,非软件人员仍然没有完全理解在这些情况下,他们向我报告的“软件”问题并不是真正的软件问题,而是软件正在报告问题,但不会导致它。不要误会我的意思,我最喜欢的莫过于像一堆砖头一样解决软件错误,并寻找以任何方式提高健壮性的方法。我现在对这个系统已经足够了解了,我几乎对这些东西有了第六感。
无论我试图解释多少次,都没有真正深入人心。他们仍然将本质上的硬件问题(最终得到修复)报告为软件问题。
我想听听其他有过类似指责经历的人,以及他们用什么方法来处理它们。
更新 这里的一些很棒的回应几乎是从同一张赞美诗中唱出来的:更具描述性。我猜想在硬件故障时识别命令并彻底轰炸是第一阶段,但仍然不够。下一阶段将把对外行相当无意义的 PLC 命令映射到更具暗示性的东西上。“PLC 命令 M71 超时”变为“无法初始化注射器系统。检查是否达到了足够的真空度”等等......
.net - 如何以编程方式启动 Visual Studio 并将其发送到特定文件/行?
我有一种很好的方式来捕获未处理的异常,这些异常会显示给我的用户并(可选地)通过电子邮件发送给我自己。它们通常看起来像这样:
是否可以启动视觉工作室并c:\projects\myapp\somelibrary.h
在违规线路上打开它,如果可以,如何?
如果可能的话,我还想从我生成的 (html) 电子邮件中执行此操作?
.net - .NET 错误报告框架客户端/服务器?
有人知道吗?首选开源?
基本上,我可以连接一些框架来收集错误信息,通过 Web 服务将其转发到中心位置,包括收集故障转储信息(异常 stak 跟踪,但可能根据我的扩展程序在机器上的一些其他文件)并进行一些统计分析 +将用户信息返回给用户的可能性(解决方法、错误 ID,如果已经注册等)。
error-handling - 不同应用程序的错误监视器
目前我们有很多应用程序,每个应用程序都有自己的错误通知和报告机制,所以我们显然有很多问题:
- 跨不同系统/应用程序缺乏一致的错误监控:不同的 GUI、界面、不同的消息等。
- 每个应用程序的错误通知方法不同(许多应用程序使用电子邮件通知,其他应用程序将消息发布到队列等)。
- 用于报告和监控每个应用程序的单独配置设置:通知频率、消息收件人等。
您可以将许多其他问题添加到列表中,但要点很清楚。目前有计划开发自定义应用程序或服务,以针对这种情况提供一致且通用的解决方案。
无论如何,我不确定为此创建一个自定义应用程序是否是个好主意,我确信应该有一个框架、平台或现有的解决方案或产品(优先开源)已经解决了这个问题,所以我的问题是:您知道在决定创建我们的自定义应用程序之前要检查什么项目或产品吗?
谢谢!
php - PHP生成WSOD,虽然开启了却没有报错
我正在学习 PHP,此时我正在学习如何验证表单和客户端输入。
很明显,我拼错了,写了一些与 PHP 无关的东西或类似的东西,因为我得到的只是一个白屏,但我就是找不到错误是在哪里产生的。
奇怪的是,即使我打开了错误报告和显示错误,我得到的只是所谓的 WSOD(死机白屏)
这是 PHP 代码:
请不要“你为什么要做这个服务器端?Bla bla bla”,这只是一个“练习”
如果你能发现我在哪里犯了错误,请告诉我,如果你能告诉我为什么当我犯错时我只得到一个白屏,请也告诉我!:) 谢谢
c++ - C++/Windows:如何报告内存不足异常(bad_alloc)?
我目前正在为 Windows MSVC++ (9.0) 应用程序(即异常结构和类型/继承、调用堆栈、错误报告和日志记录等)开发基于异常的错误报告系统。
我现在的问题是:如何正确报告和记录内存不足错误?
当这个错误发生时,例如bad_alloc
由操作抛出new
,可能有许多“功能”不可用,主要涉及进一步的内存分配。通常,如果异常已被抛出到一个库中,我会将其传递给应用程序,然后使用消息框和错误日志文件来报告和记录它。另一种方法(主要用于服务)是使用 Windows 事件日志。
我遇到的主要问题是组装一条错误消息。
为了提供一些错误信息,我想定义一个静态错误消息(可能是字符串文字,最好是消息文件中的条目,然后使用 FormatMessage)并包含一些运行时信息,例如调用堆栈。
此用途所需的功能/方法
- STL (
std::string, std::stringstream, std::ofstream
) - 阴极射线管 (
swprintf_s, fwrite
) - 或 Win32 API (
StackWalk64, MessageBox, FormatMessage, ReportEvent, WriteFile
)
除了在 MSDN 上记录之外,它们都在 Windows 中更多(Win32)或更少(STL)封闭源代码,所以我真的不知道它们在低内存问题下的表现如何。
只是为了证明可能有问题,我写了一个微不足道的小应用程序引发了 bad_alloc:
运行了两个没有附加调试器的实例(在版本配置中,VS 2008),但“没有发生任何事情”,即我在错误报告中内部使用的 ReportEvent 或 WriteFile 中没有错误代码。然后,启动一个带调试器和一个不带调试器的实例,并让它们尝试通过在 ReportError 行上使用断点一个接一个地报告错误。对于附加了调试器的实例,这工作得很好(正确报告并记录了错误,即使使用 LocalAlloc 没有问题)!但是taskman表现出一种奇怪的行为,在应用程序退出之前释放了大量内存,我想是在抛出异常时。
请考虑可能有多个进程 [edit] 和多个线程 [/edit] 消耗大量内存,因此释放预分配的堆空间不是一个安全的解决方案,以避免要报告的进程的内存不足环境错误。
先感谢您!
php - 如果我使用未初始化/未定义的变量,有没有办法强制 PHP 报告错误?
我将结果与结果混在一起犯了一个巨大的错误,我花了大约 4 个小时才最终找到错误。
所以这是一个问题,在 PHP 中,如果我使用未定义/未初始化的变量,我是否可以强制 PHP 报告错误。
谢谢你
java - Java 异常报告 GUI 的后端
我经常在商业软件中看到错误报告 GUI。这包括所有商业软件:游戏、企业应用程序、办公应用程序等。
对于我公司的一些软件,如果(以及最终)我的应用程序意外失败,我想提供异常报告 GUI。构建 GUI 并不难。归结为:异常报告中是否有针对后端系统的现有解决方案?理想情况下,我正在寻找一个 java 库和一个相应的服务器后端。我可以推出自己的解决方案;例如,我可以通过 POST 数据将数据发送到网络服务器。
我觉得这个问题的解决方案已经存在于某个地方——我只是还没有遇到它。有什么建议吗?
编辑:
用户的示例前端 GUI。我需要一个库来管理错误报告的后端。(我不需要用户登录功能,只需要基本报告。)