Memory Profile References

Memory Profile References are Gone

I’m working on a MacBook M1.

I’ve come to rely heavily on the Memory Profile tool. The recent update to 3.0 seems to have kind of broken it. I wish I had more time to revert to the old SDK and grab screenshots of the proper functionality but I’m on break at work and just wanted to get this posted.

Below is a screenshot of the Memory tool 3.0. You can see for this list, most objects (tables) are readable (see entry 109, totally readable). However on entry 110, there is simply an asterisk attacked to it. I can click into it, and it shows nothing. This is really, really frustrating when trying to debug.

It used to show me where the reference was going. For instance under this entry it should say cursor.tile or something along those lines because these are tiles, and when the cursor is on a tile it ‘steals’ that tile from the tile map temporarily. The details of my setup aren’t important.

I’d appreciate knowing if this is the new intended functionality or if we can hope for the reference pointing to come back.

The asterisk means the table has already been added to the memory profile list and is being re-added a second time and is a duplicate. Is that what you’re seeing? If you could work up an example showing exactly what you’re doing it would be most helpful when comparing the old behavior.

Thank you for your quick reply. It does have to do with duplicate entries of the same table in the game, which I guess I was calling a “reference” because of how the tables aren’t really duplicated (to my limited understanding), but referenced by the new variable assignment.

SDK 2.7.6

Each tile in my game is numbered, this makes it easy to find them in the tile map table which we’re looking at in the memory tool. The cursor (faint, sorry) is on tile 113. The cursor object ‘knows’ what tile it is on and stores it (the tile, a table) as a variable.

In the memory tool, you can see -> cursor.tile in the “value” column of tile 113.

This is super useful because if I want to know the details of this tile, I need to go find where that data is being stored - in the cursor table, at the variable tile.

SDK 3.0

In the SDK 3.0 the value says how many items are in the table, that drop-down arrow to the left is pressed and no additional data shows, and the size is shown. So there’s really no way for me to track down where this data actually is other than already knowing where it might be from having coded it. That’s the issue I was trying to describe with my initial post.

as far as what im doing to make this happen, something like this:

tile_map.tiles[113] = {table with data} -- makes a table and assigns

then later

cursor.tile = tile_map.tiles[113] -- reassigns ref to table

I thiiiiiink it’s that simple but if it’s not, I can certainly share code.

ideally, i think i’d like the dropdown to provide the table’s data just as if it were stored there, and also have some indication of where it’s further referenced.

I don’t make the software and I’m not the only user so I defer to whatever seems best for the most users from Panic’s perspective. But I would love having that traceability back :slight_smile: