在 C 中执行期间记录错误
Logging error during execution in C
所以我知道记录编译错误可以在终端中按如下方式完成
gcc -o objectname filename.c 2>'compilation_error_log.txt'
我在执行代码时遇到一些内存错误,也想记录它。我尝试了相同的方法
./objectname 2>'Execution_error_log.txt'
但它不起作用。有人可以告诉我内存错误的存储位置,以便我可以记录它们吗?我的错误和输出看起来有点像这样
./objectname arg
Expected Output.
*** Error in `./objectname': double free or corruption (!prev): 0x089d1008 ***
Aborted (core dumped)
我想记录预期的输出和错误消息
默认情况下,
glibc 错误消息正在写入 /dev/tty
,这不会重定向到任何地方。
您可以通过将环境变量LIBC_FATAL_STDERR_
设置为 1
来请求stderr
中的消息。之后,您可以2> log.file
.
当您的应用程序已关闭stderr
(或文件描述符 2(时,默认行为是安全的解决方法,并且在此之后发生了致命错误。
在 ash 中执行 ./objectname arg 1> compilation_error_log.txt 2>&1 应该可以工作。基本上,您必须提供对文件的重定向,然后将错误流重定向到 stdin 文件描述符。
相关文章:
- Qt 错误:QSqlQuery::value:尝试从表中检索统计信息时未定位在有效记录上 (QComboBox)
- 记录重新引发错误的函数
- 分段错误:从文件中访问csv记录时转储了核心
- 正在将DJI错误代码记录到流中
- 我的游戏引擎的 spdlog 日志记录出现奇怪的"unresolved external symbol"错误
- 使用 Nvidia NPP 调整图像大小时未记录的大小调整错误
- 从接收中获取未记录的错误代码
- 我必须将记录结构转换为一类,并且不断遇到多个错误
- 尝试将数据从记录读取到程序(C++)时难以捉摸的错误
- 记录使用 createprocess 函数调用的 exe 的错误
- CDao记录集::查找错误
- 在记录错误时取消引用 ptr 的设计是错误的
- 激活记录是否用于查找错误行
- OpenGL 上下文创建期间未记录的错误
- 如何调试ActiveX控件(OCX)或使其记录错误
- 如何将从Google AddressSanitizer抛出的错误记录到日志文件中
- 在 C++11 应用程序中进行错误日志记录的优雅方法
- 在C++中记录 SEH 错误
- Boost.记录GNU/Linux下的链接错误
- 在 C 中执行期间记录错误