Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 340363

Summary: Traditional Memory shows '????' in existing monitors when session is restarted
Product: [Tools] CDT Reporter: James Blackburn <jamesblackburn+eclipse>
Component: cdt-memoryAssignee: cdt-debug-inbox <cdt-debug-inbox>
Status: NEW --- QA Contact: Jonah Graham <jonah>
Severity: normal    
Priority: P3 CC: cdtdoug, marc.khouzam, steffen-schmidt
Version: 8.0   
Target Milestone: ---   
Hardware: PC   
OS: Linux-GTK   
Whiteboard:

Description James Blackburn CLA 2011-03-17 14:48:22 EDT
This is a weird one. When re-running a launch, the Traditional Memory rendering shows '????' instead of data for the existing monitors.

Steps to reproduce:

This code:
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>

uint64_t big_global_array[1000];

int main(void) {
	int i;
	puts("!!!Hello World!!!"); /* prints !!!Hello World!!! */
	for (i = 0; i < sizeof(big_global_array); i++)
		printf ("%llu\n", big_global_array[i]);
	return EXIT_SUCCESS;
}

1) Add a memory monitor on big_global_array. 
2) Verify it's all 0's.
3) Terminate the session
4) Start a new session and examine the memory monitor

This memory monitor now shows only "????????"

Workaround, create a new memory monitor.
Comment 1 James Blackburn CLA 2011-03-17 14:49:13 EDT
BRCM:TLFIREPATH-1919
Comment 2 Marc Khouzam CLA 2011-03-17 15:06:27 EDT
I assume you are using DSF-GDB?

I think the problem is how we create the mementos for the memory monitor in DsfMemoryBlockRetrieval.
Comment 3 James Blackburn CLA 2011-03-17 15:32:05 EDT
(In reply to comment #2)
> I assume you are using DSF-GDB?

I was when I reproduced this issue tonight.
 (The user who reported this is using our CDI based debugger, so I believe the problem affects both.)