gpt4 book ai didi

embedded - trace32 - 将多个地址范围的内存转储到单个二进制文件

转载 作者:行者123 更新时间:2023-12-01 09:17:00 26 4
gpt4 key购买 nike

我正在使用劳特巴赫调试器从不同的内存部分转储到二进制文件。到目前为止,我已经设法为每个地址范围生成一个二进制文件

data.save.binary output1.txt var.Range(sDummyArray[startRange1..endRange1])

data.save.binary output2.txt var.Range(sDummyArray[startRange2..endRange2])

...

有没有办法让我将多个二进制(内存转储)文件“拼接”在一起以提供一个二进制文件,或者使用我错过的 trace32 命令将每个内存转储附加到一个文件中?

最佳答案

要将目标内存中的多个地址范围保存到同一个二进制文件,请使用命令 Data.SAVE.Binary带有它的选项“/Append”。该选项将新数据附加到给定文件的末尾。

例如。:

Data.SAVE.Binary output1.txt Var.RANGE(sDummyArray[startRange1..endRange1])
Data.SAVE.Binary output1.txt Var.RANGE(sDummyArray[startRange2..endRange2]) /Append

对于 TRACE32 旧版本 63378,您可以使用调试器的虚拟内存(如果不用于其他用途),如下所示:
PRIVATE &size1 &size2   
&size1=Var.VALUE((sDummyArray+endRange1)-(sDummyArray+startRange1))
&size2=Var.VALUE((sDummyArray+endRange2)-(sDummyArray+startRange2))
Data.COPY Var.RANGE(sDummyArray[startRange1..endRange1]) VM:0
Data.COPY Var.RANGE(sDummyArray[startRange2..endRange2]) VM:&size1
Data.SAVE.Binary output1.txt VM:0++(&size1+&size2-1)

所以我们的想法是通过 Data.COPY 收集所有数据。在虚拟内存中并将其从那里保存到二进制文件中。

关于embedded - trace32 - 将多个地址范围的内存转储到单个二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41517753/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com