跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 想要追踪一个正在运行的 Python 进程里面的函数调用及代码执行情况
未分類
29 12 月 2020

想要追踪一个正在运行的 Python 进程里面的函数调用及代码执行情况

想要追踪一个正在运行的 Python 进程里面的函数调用及代码执行情况

資深大佬 : fuckyoudolphin 10

需求有点像精准测试 但没办法在 build 的时候插桩

想追踪这个已经运行起来的进程 某段时间的代码运行情况,执行了哪些行 哪些方法

求教 有什么好的办法吗

大佬有話說 (9)

  • 資深大佬 : ysc3839

    方法不知道,我只知道 Visual Studio 可以直接调试一个外部的 Python 进程。

  • 資深大佬 : charexcalibur

    试试 https://github.com/benfred/py-spy

  • 資深大佬 : caiji11

    VizTracer 试试这个

  • 資深大佬 : zhangkunkyle

    pysnooper

  • 主 資深大佬 : fuckyoudolphin

    @charexcalibur 谢谢,但是这个 pyspy 貌似是对帧取样 实现不了对执行的每一行代码的监控

  • 資深大佬 : jones2000

    代码打桩, 一般用来做测试代码覆盖率用的。 给一个测试版编译的时候在所有的分支都打上桩 跑完所有的测试, 统计触发了多少桩。应该是在生成 AST 的时候加桩的, 然后再跑。解释性的语言你可以先生成 AST 的时候加桩,然后再把加桩以后的 AST 转成 py. 再跑

  • 資深大佬 : lc1450

    最近也遇到类似问题,定时任务卡了好几天,正常情况应该几小时就完成
    strace -p 能看到卡在 futex 系统调用, 但具体卡在 python 代码什么地方看不到, 这种场景用什么工具来看?

  • 資深大佬 : alvie

    https://opentracing.io/guides/python/tracers/

    https://opencensus.io/tracing/

  • 資深大佬 : todd7zhang

    注册 signal ? 接受信号,然后 sys._current_frames().items()拿到 stack, 再 traceback.extract_stack(stack) 拿到
    filename, lineno, name, line

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具