如何解决使用anaconda / dask时如何修复ltrace输出?
因此,我试图诊断使用anaconda安装的dask python脚本与我们的glibc / libc补丁之间的交互。
通常,我使用ltrace初步诊断python接口问题,并且它为我提供了大量有关python(3.6)如何调用库的信息。
但是,当我运行anaconda activate
来启用dask(在此脚本中需要)时,我只得到1行关于python的信息:__libc_start_main
,从那时起,我仅获得有关更深层调用的信息,而我没有不需要知道。一切都很奇怪。
libc(显然仍在被调用(或者更确切地说是我的LD_PRELOAD替代品),因为我可以看到引擎正在执行的调用,但是我不想知道我的代码正在调用什么,我想知道何时以及如何调用我的代码代码被调用。
请注意,即使脚本未使用dask,也是如此,否则我将启动交互式提示。在交互式提示下,我只得到一行,而不是通常的输出页面。
有人看到过这样的东西吗?从ltrace手册页中是否可以找到一个简单的解决方法?
所以,多玩一些游戏,我会得到一些输出
../ltrace -x '*-setlocale-mem*-malloc-calloc-realloc-free-__libc_malloc-cfree-__libc_free-wcs*-_-__errno_*-__libc_realloc-pthread_*' -e '?*' -n 3 -w 1 -o logfile1.log python profile.py
但是,这实际上似乎并不包含有趣的运行时操作,仅包含启动和关闭操作以及一些内部python方法。
好的,部分问题是dask的分叉引擎。但是,即使我现在将它作为一个单独的进程使用,因此它实际上是在显示操作的“实质”,但这样做仍然很奇怪,无法正确显示python调用点,仅内部显示了这些调用点。
我只是感到困惑。我想念一些大事。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。