Trace32中文网站 > 使用教程 > TRACE32怎么导出调试日志 TRACE32调试日志内容缺失如何调整
教程中心分类
TRACE32怎么导出调试日志 TRACE32调试日志内容缺失如何调整
发布时间:2026/08/28 13:53:24

  TRACE32里的“调试日志”可能指PowerView命令记录、系统访问日志、变量变化记录,也可能是Trace采集结果。不同日志使用的导出命令并不一样。需要保留调试过程时,可以使用【LOG.OPEN】记录TRACE32操作;要分析目标访问异常,则更适合查看【SYStem.LOG.List】;如果准备把某个窗口内容保存成文本,还可以通过【PRinTer.FILE】和【WinPrint】导出。日志生成后内容不完整时,要先确认记录对象和启动时间,再检查输出范围、文件覆盖以及目标访问是否真的被纳入记录。

  一、TRACE32怎么导出调试日志

 

  普通调试过程可以先使用LOG记录TRACE32命令。如果需要把当前窗口里的系统日志、变量结果或Trace列表一起交给其他人员,再分别导出对应窗口。

 

  1、记录TRACE32操作命令

 

  ①打开TRACE32 PowerView。

 

  ②在命令行输入【LOG.OPEN"debug.log"】。

 

  ③确认日志文件已经成功创建。

 

  ④开始执行【SYStem.Up】【Data.LOAD】【Break.Set】【Go】等调试操作。

 

  ⑤通过菜单执行的部分TRACE32操作也会进入记录。

 

  ⑥完成需要保留的调试过程后输入【LOG.CLOSE】。

 

  ⑦打开生成的【debug.log】检查记录内容。

 

  ⑧需要再次记录时重新执行【LOG.OPEN】。

 

  这种日志更适合保存TRACE32命令执行过程,用来复现操作步骤。它不是CPU运行Trace,也不会自动保存变量历史和所有目标访问。

 

  2、把窗口内容导出为文本

 

  ①先打开需要保存的窗口,例如【SYStem.LOG.List】或【Trace.List】。

 

  ②输入【PRinTer.FILE debug_output.txt】设置输出文件。

 

  ③需要在原文件后继续追加时使用【/Append】。

 

  ④导出系统日志时执行对应的【WinPrint.SYStem.LOG.List】或从窗口执行打印输出。

 

  ⑤导出Trace列表时可执行【WinPrint.Trace.List】。

 

  ⑥只需要某段Trace记录时,在命令后指定记录范围。

 

  ⑦导出后打开文本文件检查首尾记录。

 

  ⑧再次导出到同一个文件前确认是否需要【/Append】,否则原内容可能被覆盖。

 

  3、需要保留Trace原始记录时单独保存

 

  ①确认已经完成Trace采集。

 

  ②打开【Trace.List】检查当前记录。

 

  ③执行【Trace.SAVE trace_data.ad】。

 

  ④需要只保存部分记录时,在命令中指定记录范围。

 

  ⑤需要普通文本时使用【Trace.EXPORT.ASCII trace.txt】。

 

  ⑥需要后续继续在TRACE32中分析时,优先保留【.ad】文件。

 

  ⑦同时保存当前ELF和调试符号,便于以后重新解析调用地址。

 

  二、TRACE32调试日志内容缺失如何调整

 

  日志中少了前半段操作、目标访问或变量数据时,先确认使用的记录功能是否适合当前需求。LOG、SYStem.LOG和Trace记录的对象不同,不能互相代替。

 

  1、检查日志是不是开启得太晚

 

  ①查看脚本或调试流程中【LOG.OPEN】的位置。

 

  ②如果CPU连接和程序加载已经在LOG.OPEN之前执行,这些操作不会进入日志。

 

  ③把【LOG.OPEN】移动到启动脚本前部。

 

  ④需要记录启动脚本自身操作时,在执行【DO】之前开启LOG。

 

  ⑤重新运行完整调试流程。

 

  ⑥结束时确认执行了【LOG.CLOSE】。

 

  ⑦再次检查文件是否包含【SYStem.CPU】【SYStem.Up】和程序加载阶段。

 

  需要完整复现启动过程时,日志必须在这些命令执行之前打开。

  2、系统访问记录缺失时检查SYStem.LOG

 

  ①执行【SYStem.LOG.state】打开系统日志配置。

 

  ②确认日志功能处于开启状态。

 

  ③打开【SYStem.LOG.List】。

 

  ④执行【Clear】或初始化当前记录。

 

  ⑤重新触发需要分析的内存访问或调试操作。

 

  ⑥查看列表中是否出现对应Read、Write等访问。

 

  ⑦发生Bus Error时,重点检查列表最后几条记录。

 

  ⑧需要保留结果时,再通过【PRinTer.FILE】和【WinPrint】导出。

 

  【SYStem.LOG.List】主要记录TRACE32对目标系统执行的访问。默认会记录内存访问,但其他访问类型是否出现,要看当前System Log配置。

 

  3、导出文件只有部分窗口内容

 

  ①检查当前使用的是普通窗口打印还是完整记录导出。

 

  ②使用【WinPrint】时,确认有没有错误指定过窄的地址或记录范围。

 

  ③Trace只导出一段时,重新检查起止Record Number。

 

  ④需要整个Trace数据时直接使用【Trace.SAVE】。

 

  ⑤文本日志需要多次追加时,在【PRinTer.FILE】中使用【/Append】。

 

  ⑥没有使用Append时,确认后一次导出是否覆盖了前一次内容。

 

  ⑦重新生成文件后检查文件大小和记录首尾。

 

  三、需要记录变量或异常现场时怎么补充日志

 

  普通命令日志不能记录变量随时间的变化。如果问题与变量跳变、访问异常或CPU运行轨迹有关,可以另外建立对应记录,不要只扩大debug.log。

 

  1、记录变量变化

 

  ①打开需要观察的变量。

 

  ②使用【Var.LOG】加入目标变量。

 

  ③需要变量变化时才记录,可使用对应Change模式。

 

  ④需要周期采样时,配置定时记录方式。

 

  ⑤为变量日志单独建立AREA。

 

  ⑥把AREA输出到独立文件。

 

  ⑦运行程序并复现问题。

 

  ⑧结束后关闭变量记录,再检查日志中的时间点和变量值。

 

  2、发生访问异常时保留现场

 

  ①打开【SYStem.LOG.List】。

 

  ②清除旧记录。

 

  ③重新执行会触发异常的操作。

 

  ④出现【bus error】或【debug port fail】后立即停止其他操作。

 

  ⑤查看最后一次目标访问的地址和类型。

 

  ⑥保存当前System Log。

 

  ⑦同时记录【PC】、调用栈和目标状态。

 

  ⑧再根据异常地址检查是否存在无效内存、访问权限或地址转换问题。

  总结

 

  TRACE32调试日志内容是否完整,首先取决于使用了哪一种记录功能。LOG适合保存PowerView操作过程,SYStem.LOG适合检查调试器对目标的访问,Trace.SAVE用于保留CPU运行Trace,变量变化则应单独使用Var.LOG。出现缺失时,应先确认记录是否在问题发生前启动,再检查导出范围和文件覆盖设置。如需进一步了解TRACE32日志导出、System Log配置与调试记录缺失排查方法,欢迎联系咨询。

135 2431 0251