How to read Internal EEPROM on breadboard circuit

I use an atmega328 on a breadboard and program it with the UNO programmed as an ISP. My sketch writes to the internal EEPROM on the breadboard chip and was wondering how I can read the EEPROM in this setup. I have a sketch to just read the EEPROM that would be loaded after the main sketch is run and terminated. It works well when I do everything on the UNO. If I load the EEPROM reading sketch onto the breadboard using the UNO in ISP mode, I suppose it will be reading the EEPROM on the breadboard chip. Would this be correct?

I suppose I can just try it and see what happens but I am running the main sketch and don't really want to end it and to start experimenting with it but I may have to.

Right now I program the breadboard chip with the UNO, then disconnect the UNO to run the main sketch. The breadboard is being run on battery.

So I guess the question is, when I shut off power to the breadboard, connect the UNO again as ISP, load the EEPROM sketch...will the monitor be able to show what's on the internal EEPROM? Can the monitor work thru the UNO backward to the monitor display when hooked up this way?

Thanks for the help.

If you use AvrDude directly to upload (via ISP) it most likely will send the .eep file by default (never taken notice of EEPROM behavior via ISP) overwriting the EEPROM data. The IDE does not do this so the EEPROM data is persistent between uploads. You'd have to make sure you do not re-send the .eep file if you want to keep the data.

Also there are commands in AvrDude to read the flash contents, I'd assume there is the same for the EEPROM.

pYro_65:
If you use AvrDude directly to upload (via ISP) it most likely will send the .eep file by default (never taken notice of EEPROM behavior via ISP) overwriting the EEPROM data. The IDE does not do this so the EEPROM data is persistent between uploads. You'd have to make sure you do not re-send the .eep file if you want to keep the data.

Also there are commands in AvrDude to read the flash contents, I'd assume there is the same for the EEPROM.

AVRDude has a separate flag for writing the EEPROM file, it does not send it by default. When I was doing a project with ATtiny84s for school I had to modify the default Makefile that WinAVR gives you to have program-flash and program-eeprom targets using the following two flags:

AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep

When I wanted to upload the firmware I did make program-flash command, and make program-eeprom uploaded the .eep file.

avrdude -p m328p -P com3 -c avrisp -b 19200 -U eeprom:r:"GLB_eeprom.hex":i

...Obviously change com3 to whatever com port your Uno-as-ISP is connected to.

Of course this is just a raw hex dump. It would be easier, if you have serial comms to the target device, to include an option in the main program that will export the EEPROM. For all of my projects that have the ability to edit their own EEPROM, I always include a menu option that prints out the values of everything that I've stored in the EEPROM.