【发布时间】:2017-06-03 04:43:54
【问题描述】:
作为系统调试的新手,我问自己这三个术语是什么意思:
- 调试
- 分析
- 追踪
谁能提供定义?
【问题讨论】:
作为系统调试的新手,我问自己这三个术语是什么意思:
谁能提供定义?
【问题讨论】:
嗯...当我为我的问题输入标签时,似乎堆栈溢出已经定义了标签描述中的术语。这是他们的定义,我觉得非常好:
Remote debugging 是在附加到远程部署的应用程序的本地开发环境中运行调试会话的过程。
Profiling 是通过运行称为分析器的分析工具来测量应用程序或系统的过程。分析工具可以关注很多方面:函数调用次数和计数、内存使用、cpu 负载和资源使用。
Tracing 是专门使用日志来记录有关程序执行的信息。
【讨论】:
除了塞缪尔的回答:
示例跟踪与分析:
Trace:
[2021-06-12T11:22:09.815479Z] [INFO] [Thread-1] Request started
[2021-06-12T11:22:09.935612Z] [INFO] [Thread-1] Request finished
[2021-06-12T11:22:59.344566Z] [INFO] [Thread-1] Request started
[2021-06-12T11:22:59.425697Z] [INFO] [Thread-1] Request finished
Profile:
2 "Request finished" Events
2 "Request started" Events
因此,如果跟踪和分析测量相同的事件,您可以从跟踪构建分析,但反之则不行。
来源
惠瑟姆:https://www.jwhitham.org/2016/02/profiling-versus-tracing.html
IPM:http://ipm-hpc.sourceforge.net/profilingvstracing.html
【讨论】: