Каковы некоторые способы отладки дампа ядра?
Я использую симулятор ASIC (vcs), который берет кучу разных языков (Verilog, VHDL, Vera, C и Tcl в нашем случае) и компилирует их все в исполняемый файл C.
Что все отлично, вплоть до того, что ядро сбрасывает с загадочной трассировкой стека. Как лучше всего подойти к отладке этого?
1 ответ:
Если вы уже посмотрели на трассировку стека, то я подозреваю, что вы извлекли большую часть информации, которую вы можете из основного файла. Особенно если вы не знакомы с тем, как реализован симулятор, и это звучит не так, как вы.
Я бы сказал, что инструмент глючит, и что вы должны привлечь поставщика к ответственности. Сброс ядра никогда не является хорошим ответом, даже если есть проблема с вводом, который вы ему дали.
Если вы хотите попробовать проанализировать проблему далее, однако, одно предложение состоит в том, чтобы начать с какой-то более простой версии вашего дизайна ASIC, которая действительно работала, а затем постепенно вносить изменения, убеждаясь, что он все еще работает после каждого набора изменений. Таким образом, вы можете сузить область вашей системы, которая вызывает проблему, и это может позволить вам исправить ее или отправить более конкретный отчет об ошибке вашему поставщику.
Конечно, это предполагает, что вы можете вернуться к чему-то, что работает, но я буду надеяться, что вы проверял вещи по крайней мере несколько раз в процессе проектирования, и что у вас есть какой-то контроль версий (или, по крайней мере, резервные копии).