python方法查看_关于查看python的trace的方法
lptrace本質上是基于GDB的,進入到進程內存空間,然后執行了一段python指令把當時的trace給print出來
使用工具:https://github.com/khamidou/lptrace
1、linux上很簡單:
安裝
yum install gdb
pip install lptrace
使用:
vagrant@precise32:/vagrant$ python -m SimpleHTTPServer 8080 &
[1] 1818
vagrant@precise32:/vagrant$ Serving HTTP on 0.0.0.0 port 8080 ...
vagrant@precise32:/vagrant$ sudo python lptrace -p 1818
...
fileno (/usr/lib/python2.7/SocketServer.py:438)
meth (/usr/lib/python2.7/socket.py:223)
fileno (/usr/lib/python2.7/SocketServer.py:438)
meth (/usr/lib/python2.7/socket.py:223)
_handle_request_noblock (/usr/lib/python2.7/SocketServer.py:271)
get_request (/usr/lib/python2.7/SocketServer.py:446)
accept (/usr/lib/python2.7/socket.py:201)
__init__ (/usr/lib/python2.7/socket.py:185)
verify_request (/usr/lib/python2.7/SocketServer.py:296)
process_request (/usr/lib/python2.7/SocketServer.py:304)
finish_request (/usr/lib/python2.7/SocketServer.py:321)
__init__ (/usr/lib/python2.7/SocketServer.py:632)
setup (/usr/lib/python2.7/SocketServer.py:681)
makefile (/usr/lib/python2.7/socket.py:212)
__init__ (/usr/lib/python2.7/socket.py:246)
makefile (/usr/lib/python2.7/socket.py:212)
__init__ (/usr/lib/python2.7/socket.py:246)
handle (/usr/lib/python2.7/BaseHTTPServer.py:336)
handle_one_request (/usr/lib/python2.7/BaseHTTPServer.py:301)
^CReceived Ctrl-C, quitting
vagrant@precise32:/vagrant$
You can see that the server is handling the request in real time! After pressing Ctrl-C, the trace is removed and the program execution resumes normally.
2、mac上有點復雜:關鍵我也沒有嘗試成功
設置方法參考:http://www.jianshu.com/p/ce2d77d7d1c4
https://sourceware.org/gdb/wiki/BuildingOnDarwin
總結
以上是生活随笔為你收集整理的python方法查看_关于查看python的trace的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python mainloop bind
- 下一篇: 手机java程序_郑州北大青鸟:用手机也