linux是否有错误日志文件显示文件打开失败?

jeremy_rutman

我只是花了几天的时间来查找python脚本中的一个错误(我不知道,web2py使用了与我期望的目录不同的根目录,导致文件读取失败,因此在命令行运行时,代码很好,但是从网络上运行时,代码失败)。最终找到了罪魁祸首之后,我可以解决无声失败(在这种情况下,在库中为openCV),但是如果存在这种情况,更聪明的侦探会在某种系统日志中看到失败。然后,无论静默失败在哪里,我仍然可以看到它,而不必费心地追踪失败。
那么-是否有某种用于Linux的全局错误日志文件记录诸如文件读取错误之类的信息?是的,我知道有特定于python的错误记录,但问题仍然存在。例如,如果我有一个复杂的项目,其中包含一些python,一些C,一些其他内容,并且某个地方默默地出现故障,那么系统范围的错误日志将为您带来巨大帮助。

泽维尔

该解决方案可能无法满足您的需求,但是无论我想报告一些研究成果,都可能会带您朝正确的方向发展。

首先,在/ var / log下的linux系统中有日志记录。感兴趣的是系统日志和消息文件,它们记录了各种系统事件。但是不会记录文件读取的“错误”,如下所述。

如果打开一个不存在的文件,我们最终将寻找一个失败开放系统调用python的open调用this)。但是,在这种低级别上没有例外的概念-如果打开失败,它只会返回一个负数。在C语言中,您可以打开一整天都不存在的文件,而程序仍然返回0错误代码。

这意味着您必须自己做一些工作才能跟踪此问题。我问你一个问题,“如何在低于python异常的水平上跟踪这些错误?” 为此,可以结合使用strace和grep。您为每个进程附加strace,它将记录发生的所有系统调用。

因此,假设我们有一个如下所示的C程序:

#include <stdio.h>
int main()
{
    fopen("nothere.txt","r");
}

通过运行strace ./test 2>&1 | grep ENOENT,我们得到:

open("nothere.txt", O_RDONLY)           = -1 ENOENT (No such file or directory)

您当然可以在python进程上运行strace以获得相同的结果。

注意事项:

  1. 您必须在每个过程中附加此内容。如果您不这样做,我们将回到无声错误。
  2. Python会生成许多系统调用。您的日志文件可能会变大。
  3. 那里有很多IO错误。ENOENT只是其中之一。
  4. 您将需要更复杂的字符串解析来过滤掉您不关心的系统调用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Apache2启动失败,没有错误日志

来自分类Dev

在Excel中已打开时,使用QFile写入文件失败,没有错误代码

来自分类Dev

Python:写入文件失败而没有错误-导致空文件

来自分类Dev

在Apache 2.4.7中打开PHP文件返回空白页且没有错误

来自分类Dev

Xcode日志显示约束错误,但Storyboard文件中没有错误

来自分类Dev

错误:打开失败:ENOENT(没有这样的文件或目录)

来自分类Dev

打开PDF的意图会在显示文件之前立即关闭

来自分类Dev

全文搜索不起作用,日志文件没有错误显示

来自分类Dev

检查tar文件是否有错误

来自分类Dev

在Linux中的python脚本中打开并显示文件

来自分类Dev

尝试Windows部署-.exe文件未打开且没有错误消息

来自分类Dev

显示文件内容

来自分类Dev

需要powerhsell命令以检查文件存储中是否存在文件而没有错误

来自分类Dev

需要powerhsell命令以检查文件存储中是否存在文件而没有错误

来自分类Dev

lsof:显示文件以读写方式打开

来自分类Dev

如何ajax文件上传失败,没有错误?

来自分类Dev

xml文件阅读器未显示任何错误,但显示有错误

来自分类Dev

Codeigniter不显示文件上传错误

来自分类Dev

逐页显示文件

来自分类Dev

如何知道尝试打开文件时是否有错误(在C中使用fopen时)

来自分类Dev

Pulseaudio是否有错误日志?

来自分类Dev

Android意图打开文件不显示文件

来自分类Dev

查找带有“查找”的文件并显示文件的大小

来自分类Dev

检查 tar 文件是否有错误

来自分类Dev

仅显示文件内的 shell 错误

来自分类Dev

oracle:无法打开日志文件错误

来自分类Dev

通知excel文件中的宏是否有错误

来自分类Dev

是否有一个 linux 命令可以显示文件中指定长度的字符串?

来自分类Dev

如何打开文件位置以显示文件?

Related 相关文章

  1. 1

    Apache2启动失败,没有错误日志

  2. 2

    在Excel中已打开时,使用QFile写入文件失败,没有错误代码

  3. 3

    Python:写入文件失败而没有错误-导致空文件

  4. 4

    在Apache 2.4.7中打开PHP文件返回空白页且没有错误

  5. 5

    Xcode日志显示约束错误,但Storyboard文件中没有错误

  6. 6

    错误:打开失败:ENOENT(没有这样的文件或目录)

  7. 7

    打开PDF的意图会在显示文件之前立即关闭

  8. 8

    全文搜索不起作用,日志文件没有错误显示

  9. 9

    检查tar文件是否有错误

  10. 10

    在Linux中的python脚本中打开并显示文件

  11. 11

    尝试Windows部署-.exe文件未打开且没有错误消息

  12. 12

    显示文件内容

  13. 13

    需要powerhsell命令以检查文件存储中是否存在文件而没有错误

  14. 14

    需要powerhsell命令以检查文件存储中是否存在文件而没有错误

  15. 15

    lsof:显示文件以读写方式打开

  16. 16

    如何ajax文件上传失败,没有错误?

  17. 17

    xml文件阅读器未显示任何错误,但显示有错误

  18. 18

    Codeigniter不显示文件上传错误

  19. 19

    逐页显示文件

  20. 20

    如何知道尝试打开文件时是否有错误(在C中使用fopen时)

  21. 21

    Pulseaudio是否有错误日志?

  22. 22

    Android意图打开文件不显示文件

  23. 23

    查找带有“查找”的文件并显示文件的大小

  24. 24

    检查 tar 文件是否有错误

  25. 25

    仅显示文件内的 shell 错误

  26. 26

    oracle:无法打开日志文件错误

  27. 27

    通知excel文件中的宏是否有错误

  28. 28

    是否有一个 linux 命令可以显示文件中指定长度的字符串?

  29. 29

    如何打开文件位置以显示文件?

热门标签

归档