对系统调试不熟悉,我问自己这三个术语是什么意思:
任何人都可以提供定义吗?
答案 0 :(得分:5)
嗯......当我为我的问题键入标签时,似乎堆栈溢出已经定义了标签描述中的术语。在这里,我发现他们的定义非常好:
Remote debugging 是在连接到远程部署的应用程序的本地开发环境中运行调试会话的过程。
Profiling 是通过运行称为分析器的分析工具来测量应用程序或系统的过程。分析工具可以关注许多方面:函数调用次数和计数,内存使用情况,CPU负载和资源使用情况。
Tracing 是专门用于记录日志以记录有关程序执行的信息。
答案 1 :(得分:1)
除了 Samuel 的回答:
示例跟踪与分析:
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