Debugging Issues

I often get a situation that my breakpoints (in Pascal) get disabled as soon as the WebApp starts. In the past, I would just restart Delphi and they would work again.

This time, its persistent. I looked at the source in the browser.

  • It is an old copy of source, several edit/compiles ago.
  • I have restarted Delphi twice
  • I have rebuilt the project a number of times
  • I have swapped a few lines to make the source more different.

How do I make the browser see the new source?

As an example, I have been making changes to this method.
The browser has this

procedure Tfrm_Bookings_Emergency_Edit.xwc_Get_Load (Response: TXDataClientResponse);
begin
  inherited;
  Load_Date_Time_Controls;
  if FState <> fs_Inserting
  then Populate_From_Lookups;
  { Focus on First Control }
//  edtVoucher_Ref.SetFocus;
end;

Whereas my current source in the IDE is

procedure Tfrm_Bookings_Emergency_Edit.xwc_Get_Load (Response: TXDataClientResponse);
begin
  inherited;
  if FState = fs_Inserting
  then Exit;

  Populate_From_Lookups;
  Load_Date_Time_Controls;
  { Focus on First Control }
//  edtVoucher_Ref.SetFocus;
end;
``

At the moment, any breakpoint in this file gets disabled

Too late to edit my original question. More info.

  • I thought maybe its the browser, so I closed all Chrome windows and restarted it. Still the same.
  • I thought maybe the files are locked in TMSWeb/Debug and it cant write over them. But I was able to delete all files. [1]
  • The only things that came to mind are
    • that Delphi had crashed a few times (it often silently exits, more often with the Web stuff)
    • once I had accidentally started two copies of Delphi.
  • I finally had to restart my PC.

[1]

Its been mentioned before. But I had 50GB of js and map files. It would be really nice if they could be pruned automatically. Even if it could just delete the previous version.

I normally prune the js files in Beyond Control when I copy them to cloud. However, map files are hidden, so I hadn't realised they were still there.

You could check that if you compile, the files do get updated in the TMSWeb/Debug folder. In debug mode, both the .js & .map file should be written in this folder upon each compile. So, please verify this. If this isn't the case, it could be an issue with the setting of the output path that it doesn't send the new generated files to the expected folder.

Hi Bruno, as mentioned, there are hundreds of files there. And I can debug normally. It just stops, all of a sudden.

So you compile with the setting Single JS = false?
If so, even then you could check if the timestamps of the JS files get updated after compile.