f, fp (填滿記憶體)
f 和 fp 命令會以重複模式填滿指定的記憶體範圍。
這些命令不應與 ~F (Freeze Thread) 命令混淆。
f Range Pattern
fp [MemoryType] PhysicalRange Pattern
參數
範圍
指定要填滿之虛擬記憶體中的範圍。 如需更多語法詳細數據,請參閱 地址和地址範圍語法。
PhysicalRange
(僅限核心模式)指定要填滿之物理記憶體中的範圍。 PhysicalRange 的語法與虛擬記憶體範圍的語法相同,不同之處在於不允許任何符號名稱。
MemoryType
(僅限核心模式)指定實體記憶體的類型,可以是下列其中一項:
[c]
快取的記憶體。
[uc]
未快取的記憶體。
[wc]
寫入合併的記憶體。
模式
指定要填滿記憶體的一或多個字節值。
Environment
模式 |
f: 使用者模式、核心模式 fp: 僅限核心模式 |
目標 |
即時、損毀傾印 |
平台 |
全部 |
其他資訊
如需記憶體操作的概觀,以及其他記憶體相關命令的描述,請參閱 讀取和寫入記憶體。
備註
此命令會以指定的模式填滿範圍指定的記憶體區域,並視需要重複多次。
模式參數必須是輸入做為一系列的位元組。 這些可以輸入為數值或 ASCII 字元。
數值會解譯為目前基數中的數位(16、10 或 8)。 若要變更預設的基數,請使用 n (Set Number Base) 命令。 您可以藉由指定 0x 前置詞(十六進位)、0n 前置詞(十進位)、0t 前置詞(八進位),或 0y 前置詞 (binary) 來覆寫預設的基數。
注意 使用C++表達式時,預設基數的行為會有所不同。 如需詳細資訊,請參閱 評估表達式 主題。
如果使用 ASCII 字元,每個字元都必須以單引號括住。 無法使用 C 樣式逸出字元(例如 '\0' 或 '\n')。
如果指定多個字節,則必須以空格分隔它們。
如果 pattern 的值超過範圍中的位元元組數目,調試程式會忽略額外的值。
以下列出一些範例。 假設目前的基數為 16,下列命令會以 “ABC” 模式填滿記憶體位置 0012FF40 到 0012FF5F,並重複數次:
0:000> f 0012ff40 L20 'A' 'B' 'C'
下列命令的效果完全相同:
0:000> f 0012ff40 L20 41 42 43
下列範例示範如何在核心模式中使用實體記憶體類型 (c、uc 和 wc) 與 fp 命令:
kd> fp [c] 0012ff40 L20 'A' 'B' 'C'
kd> fp [uc] 0012ff40 L20 'A' 'B' 'C'
kd> fp [wc] 0012ff40 L20 'A' 'B' 'C'