On 2026-05-27 12:11, Martin Frb via fpc-devel wrote:
I know how refcount internally work on strings and dyn array.

I am thinking about formulating a request to the DWARF specs. So I want to check the details, and also get information how they
- will work for smart pointers,
- where else they may occur?

Background, refcounts may be of interest for the debugger in at least the following cases.
- A user modifies a variable (or an indexed value) via the debugger.
  ~ The debugger may additionally need info, if it should "copy on write" / though that can be derived....   ~ The debugger could inform the user about "side effects on other references to the value"
 .
 .

I can't imagine a reasonable scenario when a user might want to perform a modification of a refcounted variable of the program being debugged by using "copy on write". I strongly believe that such an option should not be offered to the user at all. As far as modifying the already existing instance is concerned, the debugger should probably always check whether the shared reference is still valid and having the original value at the time of trying to modify it - trying to add the debugger as another reference of an existing refcounted variable might IMHO lead to unexpected/unwanted effects on the program being debugged and thus should be avoided as well.

Just my 2 cents

Tomas
_______________________________________________
fpc-devel maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to