请问这种函数调用树状图是怎么画的?

2022-04-19 13:43:19 +08:00
 seasona

看代码的时候想自己把函数调用的逻辑绘制成图,方便理解,想知道下面这种数状图是怎么画的?

#guest kick 时发送 virtio_net_handle_tx_bh is handle_output
virtio_net_handle_tx_bh
  └─virtio_net_tx_bh
      ├─virtio_net_flush_tx
      |   ├─virtqueue_pop
      |   |   └─virtqueue_split_pop
      |   |       └─virtqueue_map_desc
      |   |           └─dma_memory_map
      |   |               └─address_space_map
      |   ├─qemu_sendv_packet_async
      |   |   └─qemu_net_queue_send_iov
      |   |       └─qemu_net_queue_deliver_iov
      |   |           └─qemu_deliver_packet_iov
      |   |               └─调用到了对端的 peer_receive 就是 tap_receive
      |   |                  └─tap_write_packet
      |   └─qemu_net_queue_flush
      |       └─qemu_net_queue_deliver
      └─bh 的回调函数 virtio_net_tx_complete
          ├─virtqueue_push
          |    ├─virtqueue_fill
          |    └─virtqueue_flush
          |        └─vring_used_idx_set
          └─virtio_notify

不是想要那种自动生成的工具。函数调用的关系还是自己手动整理,只是想要这种生成代码树样式的工具

1965 次点击
所在节点    问与答
10 条回复
TimePPT
2022-04-19 13:49:39 +08:00
你是指每行那个横杠竖杠?这不是制表符么?
BiChengfei
2022-04-19 13:54:24 +08:00
说个笨点的,在系统下创建文件夹,然后用 tree 插件,打印目录结构
sgiyy
2022-04-19 14:02:59 +08:00
自己定义一份数据结构,写个方法处理添加空格、中华线、竖线。
DarkCat123
2022-04-19 14:13:41 +08:00
https://plantuml.com/zh/salt
参考「树形外挂」
3dwelcome
2022-04-19 14:17:12 +08:00
我写过,加起来没几行代码。

V2 贴代码会乱,我就贴图片了。

seasona
2022-04-19 14:18:41 +08:00
@TimePPT 就是指这个,想问一下有没有工具方便生成
Pipecraft
2022-04-19 15:51:12 +08:00
seasona
2022-04-19 17:06:00 +08:00
@Pipecraft 感谢!这个太方便了,就是我想要的东西
Pipecraft
2022-04-19 17:32:36 +08:00
@seasona #8 我也是好奇找了一下,发现了这个好用的工具。
JamesRuan
2022-04-21 07:45:01 +08:00
手撸一个也就一小时足够了吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/847880

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX