-
Notifications
You must be signed in to change notification settings - Fork 186
Bookmarks
Bookmarks let you mark important addresses in the disassembly view with comments. They're useful for keeping track of code you want to come back to, like the instruction that changes health, ammo, inventory, timers, etc.
Bookmarks are mainly for code locations. If you want to track a value, use the address table instead. A common setup is to bookmark the code that writes to a value and keep the value itself in the address table.
Bookmarks are saved as part of session files and PINCE tries to relocate them when you restart the game or reattach to the same process.
Open it from the Memory Viewer menu: View -> Bookmarks
The Bookmarks window has this layout:
- Left pane: A list labeled Bookmarked Addresses showing all bookmarked addresses
- Right pane: Two read-only fields: Info (shows region details) and Comment (shows your comment)
You can create bookmarks from the disassembly view in several ways:
- Right click and select Bookmark this address[Ctrl+B]
- Press Ctrl+B on any row
- Double click the Comment column of a row that isn't bookmarked yet
When you bookmark an address, you'll be prompted with Enter the comment for bookmarked address. Enter a description to help you remember what this address is for.
If you try to bookmark an address that's already bookmarked, you'll see This address has already been bookmarked.
Bookmarks cannot be created for addresses in the heap or stack regions. These regions change location on every run, so PINCE cannot relocate them reliably.
If you try to bookmark a heap or stack address, PINCE won't add it.
Right click in the bookmark list for these options:
- Add new entry - opens a dialog with Enter the expression where you can type a raw address or a GDB expression
- Change comment - lets you edit the comment for the selected bookmark
- Delete[Del] - removes the selected bookmark
- Refresh[R] - reloads the bookmark list
You can also press Del to delete the selected bookmark or R to refresh the list.
Double click any bookmark in the list to jump to that address in the disassembly view.
Right click a bookmarked row for these options:
- Delete this bookmark - removes the bookmark
- Change comment - edits the comment
- Go to bookmarked address - submenu listing all bookmarks with their resolved symbol names
Bookmarked addresses are highlighted in the disassembly view:
- Cyan background for bookmarked rows
- (M) prefix in the address column (for "Marked")
- Your comment appears in the Comment column
When multiple states overlap, colors are combined:
- Yellow for PC + Bookmark
- Magenta for Breakpoint + Bookmark
- Green for PC + Breakpoint
Bookmarks store three pieces of information:
- Symbol - the function or symbol name at the address (if any)
- Comment - your description
- Address region details - the memory region name, offset within that region and the region's index among same-named regions
When you load a session or reattach to the same process, PINCE relocates bookmarks using the stored region details. It looks up the same memory region by name and index, then applies the stored offset to calculate the new address.
Bookmarks are saved as part of session files (.pct format). They're included in the session data alongside the address table, notes and structures.
If PINCE can't find the same region anymore, the bookmark is dropped and a warning is written to the logs.
This can happen if:
- The game was updated
- The module is no longer loaded
- The memory region order changed
- The bookmark pointed somewhere that was never stable enough to relocate
Good comments help you remember what each bookmark is for. Instead of just marking an address, write what it does: "health decrement", "inventory update", "collision check".
Bookmarks mark code locations (instructions) while the address table tracks data locations (variables). Use both together: bookmark the code that modifies a value and add that value to the address table for monitoring.
Since bookmarks are part of session files, they persist across PINCE restarts. Save your session after creating important bookmarks so they'll be there when you load the session next time.
The region-based relocation system works well when the same memory regions are loaded in the same order. If a region is no longer present or has a different index, the bookmark will be dropped with a warning in the logs.