3 ms·
TL;DR: DTrace uses a minimalistic C dialect called D to write it's probes, hence the name. In order to trace arbitrary code, it has to inject these into the co
by j-pb 5y ago
TL;DR: DTrace uses a minimalistic C dialect called D to write it's probes, hence the name.
In order to trace arbitrary code, it has to inject these into the code site that you want inspected.
If you could just inject arbitrary C, you'd get the issue of potentially adding probes which change the behaviour of your code under test to a degree where new bugs/behaviours are introduced or old bugs/behaviours are masked.
DTrace solves this by using a C subset which helps you avoid such unwitting changes, by not including loops or other operations which could change the memory or timing behaviour of the existing system.
- layoutIfNeeded 5y ago>DTrace uses a minimalistic C dialect called D Which is completely unrelated to the other language called D, also known as DLang. (which was released 4 years earlier than DTrace by the way)
- eppsilon 5y agoShould've called it C--.
- tapotatonumber9 5y agoOr, if less is more, perhaps “C-+”?
- gowld 5y agohttps://en.wikipedia.org/wiki/C-- https://en.wikipedia.org/wiki/C--