Showing posts with label debugging. Show all posts
Showing posts with label debugging. Show all posts

08 July, 2025

EurekaLog-enabled application starts up x2 times slower on Windows 2016

We were contacted by a customer who claimed adding EurekaLog to his application increased application startup time by a factor of 2 - but only on PCs running Windows 2016. In other words, application startup takes about 6 seconds on Windows 2016, while taking only 3 seconds on any other OS.

The customer used a Process Monitor tool to observe that EurekaLog-enabled application creates a lot of *.tmp files. He wondered why that is, and if it could be a source of the issue.

05 October, 2022

EurekaLog helps not only you, but also developers of libraries that you are using

We were contacted by a customer that claimed that his application worked fine until he added EurekaLog to it. Specifically, his application starts to raise an EAccessViolation exception in his event handler's code.

20 July, 2022

EurekaLog erases my bitmap? (even VCL has bugs)

We were contacted by a client who claimed that EurekaLog was erasing his image in a program. In particular, it was claimed that the client's code "worked great" until EurekaLog was added to the application. After adding EurekaLog, the previously "working" code stopped working, clearing the image instead (e.g. the code's result was blank instead of expected image). The client also claimed that if the "Extended memory manager" option in EurekaLog is disabled - everything works fine again. But if this option is enabled - nothing works, even if all other memory debugging options are disabled.

Simplified code looks really simple:
Buffer := TBitmap.Create;
try
  Buffer.SetSize(64, 64);
  Buffer.Canvas.StretchDraw(Rect(0, 0, 64, 64), Bitmap); 
  Bitmap.SetSize(64, 64);
  Bitmap.Canvas.Draw(0, 0, Buffer); 
finally
  Buffer.Free;
end;
Do you see a problem in that code?

03 February, 2021

EurekaLog causes EOutOfResources (Out of system resources)?

We were contacted by a person who complained that his application was working fine until he added EurekaLog to it. An "Out of system resources" exception was raised after adding EurekaLog to project. The exception occurred inside the OutOfResources helper function from the Vcl.Graphics unit.

19 November, 2020

EurekaLog causes Integer Overflow?

We were contacted by a person who complained that his application was working fine until he added EurekaLog to it. An Integer Overflow exception was raised after adding EurekaLog to project. The exception occurred inside the _UStrCatN function (it is a function for concatenating multiple strings in RTL).

09 October, 2020

EurekaLog causes AccessViolation?

We were contacted by a person who complained that his application was working fine until he added EurekaLog to it. An AccessViolation exception was raised after adding EurekaLog to project. The message was: "Access violation at address 00E15025 in module 'Project.exe'. Read of address 83EC8B69". And the stack was:
  • Contoso.pas TContosoEventMessage.BasePerform
  • Vcl.Forms.pas TApplication.WndProc
  • System.Classes.pas StdWndProc
  • Vcl.Forms.pas TApplication.HandleMessage
  • Vcl.Forms.pas TApplication.Run
  • Project.dpr Initialization
(all names have been replaced; Contoso represents some well-known library for Delphi).

09 March, 2020

How to find out why your application suddenly closes?

Sometimes there are cases when your application just silently exits, and you have no idea why. How can you diagnose such issues?

11 May, 2017

Using Threads Snapshot tool as postmortem debugger

This article will show you how to register and use Threads Snapshot tool to capture call stacks of unhandled exception crash of any process.

08 June, 2010

How to debug application's hang?

Today’s article will cover different approaches to debugging of application’s hangs.