В Atollic вы можете легко прикрепить команды GDB к точкам останова.Это позволяет автоматически выгружать любые переменные.Кроме того, вы можете выполнить внешнюю программу один раз после этого, чтобы отобразить содержимое выгружаемой переменной.
Для этого перейдите в свойства точки останова и создайте новое действие.Выберите «Действие команды отладчика» и используйте dump binary value x.bin x
для выгрузки переменной x в файл x.bin
. Вы также можете запустить скрипт python с точки останова для построения графика данных.Используйте дополнительное «External Tool Action» и выберите местоположение вашего питона.Убедитесь, что вы выбрали свой текущий рабочий Dictonary.Используйте аргументы, чтобы передать полный путь к файлу Python.Следующий файл импортирует массив с плавающей точкой и построит его.
import struct
import numpy as np
import matplotlib.pyplot as plt
import os
def readBinaryDump(filename):
result = []
N=8
with open(filename,'rb') as f:
while(True):
b = f.read(4*N);
if len(b) ==0:
break
fn = "f"*N
result.append(struct.unpack(fn,b))
result = np.array(result)
return result.ravel()
plt.plot(readBinaryDump("x.bin"))
Не забудьте добавить действия к текущей точке останова.Теперь, когда точка останова достигнута, переменная должна быть автоматически выгружена и выведена на график.