CB2021 2 Posted April 20, 2021 I'm not sure my debugger is working correctly. I'm using a 64bit VCL project in 10.4.2 I have a bug that access an array that was never declared. It would normally be declared using calloc. Rather than any message from the debugger, all I get is a generic "Access violation" message. Then I have to track down the error using break points and stepping through the code. Is this how the 64bit debugger is supposed to work? In the past CB would give a debugger warning when this happened. There should be an attached picture which shows this. Access violation at address 00007FF9243A4B59 in module "KERNELBASE.dll". Read of address 0000000000007CC8 There are several third party memory tools such as Deleaker and EurekaLog. Do I need to buy one of these tools to handle memory problems? Share this post Link to post
David Heffernan 2345 Posted April 20, 2021 That's exactly the error I'd expect and the debugger will break at the line of code that accesses the uninitialized pointer. None of these tools will make much difference to this sort of debugging. You just need a slightly better understanding of how memory errors manifest and how to let the debugger tell you what's wrong. Share this post Link to post
Stefan Glienke 2002 Posted April 20, 2021 (edited) That dialog there is definitely not from the debugger. Make sure you did not accidentally disable breaking on exceptions. Edited April 20, 2021 by Stefan Glienke Share this post Link to post
CB2021 2 Posted April 21, 2021 CB used to have CodeGuard that would catch this type of memory access violations. It was built-in and easy to use. We need something like CodeGuard that will catch memory errors. Share this post Link to post
Anders Melander 1783 Posted April 21, 2021 1 hour ago, CB2021 said: CB used to have CodeGuard http://docwiki.embarcadero.com/RADStudio/Sydney/en/Using_CodeGuard Share this post Link to post
CB2021 2 Posted May 27, 2021 CodeGuard is only for the Classic Compiler which is C++98. It does not work for the Clang compilers. So it is obsolete. Here is the notice "Note: This feature is available only for the classic bcc32 compiler, not for the modern Clang-enhanced compiler." We badly need a memory leak tracker for 64bit C++. http://docwiki.embarcadero.com/RADStudio/Sydney/en/CodeGuard_Overview Share this post Link to post
hansw 4 Posted May 28, 2021 Please put your votes here: https://quality.embarcadero.com/browse/RSP-16123 You can also send a PM to David Millington (David DOT Millington AT embarcadero DOT com) to bring some more attention to the topic. Regards, Hans Share this post Link to post