使用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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...