我正在使用pycallgraph命令行工具对一个相对简单的程序进行剖析和绘制调用图。然而,生成的图片包括标准库(线程、json、套接字)的内部结构,尽管我没有使用-s命令选项。使用-e选项排除这些模块没有效果,并且使用-i会导致空白的调用图。我还试过cProfile,但它只绘制主线程。
如何让pycallgraph只显示我的代码中的调用?当前混乱的结果毫无用处。
编辑: 我正在使用0.5.1版本,可以通过easy_install获得。执行命令“pycallgraph ./cursesclient.py”会输出这个:
。你可以看到,pycallgraph显示了模块json、re、encodings、socket和threading的内部结构。其中,re和encodings甚至从未直接在我的代码中被调用,而是通过json和socket间接调用的。
如何让pycallgraph只显示我的代码中的调用?当前混乱的结果毫无用处。
编辑: 我正在使用0.5.1版本,可以通过easy_install获得。执行命令“pycallgraph ./cursesclient.py”会输出这个:
![a messy call graph](https://istack.dev59.com/w771S.webp)