Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Definition of debugging, profiling and tracing

Being new to systematic debugging, I asked myself what these three terms mean:

  1. Debugging
  2. Profiling
  3. Tracing

Anyone could provide definitions?

like image 268
Samuel Avatar asked Jan 18 '17 17:01

Samuel


People also ask

What is debugging and profiling?

debugging --- getting the code to work as you intended; profiling --- assessing how the code carries out a given scientific task on a given platform and how its performance might be improved; validation --- assessing how accurately the code carries out a given scientific task.

What do you mean by debugging?

Debugging, in computer programming and engineering, is a multistep process that involves identifying a problem, isolating the source of the problem, and then either correcting the problem or determining a way to work around it. The final step of debugging is to test the correction or workaround and make sure it works.

What is a trace in debugging?

What is Tracing? One technique that monitors software in real-time debugging is known as "tracing," which involves a specialized use of logging to record information about a program's execution. Programmers typically use this information to diagnose common problems with software and applications.

What is debugging and profiling in Python?

These libraries help you with Python development: the debugger enables you to step through code, analyze stack frames and set breakpoints etc., and the profilers run code and give you a detailed breakdown of execution times, allowing you to identify bottlenecks in your programs.


1 Answers

Well... as I was typing the tags for my question, it appeared that stack overflow already had defined the terms in the tags description. Here their definitions which I found very good:

Remote debugging is the process of running a debug session in a local development environment attached to a remotely deployed application.

Profiling is the process of measuring an application or system by running an analysis tool called a profiler. Profiling tools can focus on many aspects: functions call times and count, memory usage, cpu load, and resource usage.

Tracing is a specialized use of logging to record information about a program's execution.

like image 120
Samuel Avatar answered Jan 02 '23 04:01

Samuel