Tracing is great but often gives you a low signal-to-noise ratio and for new code, is often missing for the bug you're trying to investigate.
A debugger lets you add tracing as the system is executing, which in my experience is extremely productive, especially in C++ codebases where adding some logging can result in 10 minutes to rebuild and deploy. And I don't know what I would do without data breakpoints that give you the callstack and threading info when an address is written to.
"D. Drew et al., Chlorpyrifos: Revised Human Health Risk Assessment for Registration Review, December 29, 2014, D424485;
U.S. Environmental Protection Agency, Literature Review on Neurodevelopment Effects & FQPA Safety Factor Determination for the Organophosphate Pesticides, September 15, 2015, D331251;
R. Bohaty and J. Hetrick. Chlorpyrifos Registration Review Drinking Water Assessment, April 14, 2016, D432921
U.S. Environmental Protection Agency, Chlorpyrifos Issue Paper: Evaluation of Biomonitoring Data from Epidemiology Studies, March 11, 2016 and supporting analyses presented to the FIFRA Scientific Advisory Panel’s (SAP) meeting on April 1921, 2016, (EPA-HQ-OPP-2016-0062). "