Es ist nicht möglich, alle Zugriffe auf den Speicher zu ermitteln, da dies wenig Sinn ergibt. Ein Zugriff auf den Speicher könnte die nächste Anweisung ausführen (Programm befindet sich im Speicher), oder wenn Ihr Programm eine Variable liest oder schreibt, so greift Ihr Programm fast ständig auf .
Was könnte für Sie interessanter sein könnte folgen die Speicherauslastung Ihres Programms (sowohl Heap und Stack). In diesem Fall können Sie den Standard top Befehl verwenden.
Sie könnten auch Systemaufrufe überwachen (d. H. Auf Festplatte schreiben oder ein gemeinsam genutztes Speichersegment anhängen/zuweisen). In diesem Fall sollten Sie strace Befehl verwenden.
Eine vollständigere Kontrolle, um alles zu tun wäre Debuggen Ihres Programms mit Hilfe von gdb Debugger. Es erlaubt Ihnen, Ihr Programm zu steuern, wie zum Beispiel das Setzen von Haltepunkten auf eine Variable, so dass das Programm immer dann interrupted wird, wenn es gelesen oder geschrieben wird (vielleicht war es genau das, wonach Sie gesucht haben). Auf der anderen Seite kann GDB schwierig zu erlernen sein, also wird DDD, das ein gtk graphisches Frontend ist, Ihnen helfen, damit anzufangen.
Update: Was Sie suchen, ist wirklich Low-Level-Speicherzugriff, dass es nicht auf Benutzerebene verfügbar ist (das ist die Aufgabe des Kernels des Betriebssystems). Ich bin mir nicht sicher, ob sogar die Verwaltung des L1-Caches transparent von der CPU gehandhabt und dem Kernel verborgen wird. Was klar ist, dass Sie gehen müssen als Kernel-Ebene, so KDB, erklärte here o KDBG, erklärte here.
Update 2: Es scheint, dass Linux-Kernel CPU-Cache aber nur L1-Cache behandelt. Das Buch Understanding the Linux Virtual Memory Manager erklärt, wie die Speicherverwaltung des Linux-Kernels funktioniert. This chapter erklärt einige der Innereien der L1-Cache-Behandlung.