Как написать простой отладчик? - PullRequest
6 голосов
/ 18 апреля 2011

Я хотел бы соединить мой скомпилированный объектный код с кодом c ++, а затем проверить, была ли выполнена определенная строка кода.Как сделать эти две вещи?

Если объяснение не простое (держу пари, что это не так), может кто-нибудь хотя бы указать на некоторые веб-страницы, объясняющие, как это сделать?

Я понимаючто решение отличается для разных платформ, но меня интересует, как это делается на Windows и Linux (Linux для начала)

Ответы [ 3 ]

3 голосов
/ 18 апреля 2011

Если вы хотите знать, как это делается,

это хорошая статья с использованием ptrace

2 голосов
/ 18 апреля 2011

Я подозреваю, что на самом деле вам нужен не отладчик, а профилировщик.Мне нравится callgrind на http://valgrind.org/docs/manual/cl-manual.html,, который имеет хорошую графическую среду на http://kcachegrind.sourceforge.net/.

Чтобы попробовать, я бы использовал

$ valgrind --tool=callgrind ./myapp
$ kcachegrind callgrind.out.xxx
0 голосов
/ 18 апреля 2011

В своем комментарии вы говорите: «Я просто хотел бы собрать информацию о том, как проверить, какие методы / функции выполняются во время выполнения и сколько раз».

Если это то, чего вы хотите достичь, затем используйте профилировщик, такой как gprof.

Скомпилируйте вашу программу с помощью -g -pg, и когда ваша программа завершит работу, она создаст файл, который может быть обработан gprof, чтобы показать вам, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...