<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Раздел полезных советов: Внедрение точек останова gdb в исхо...</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/87506.html</link>
    <description>На github &#091;&#091;https://github.com/kmcallister/embedded-breakpoints опубликован&#093;&#093; способ внедрения в исходный код точек останова для gdb, не влияющий на нормальное выполнение программы в отсутствие отладчика. Способ основан на размещении адреса локальной переменной в секции (embed-breakpoints линкера).&lt;br&gt;&lt;br&gt;&lt;br&gt;  #define EMBED_BREAKPOINT &#092;&lt;br&gt;    asm(&quot;0:&quot;                              &#092;&lt;br&gt;        &quot;.pushsection embed-breakpoints;&quot; &#092;&lt;br&gt;        &quot;.quad 0b;&quot;                       &#092;&lt;br&gt;        &quot;.popsection;&quot;)&lt;br&gt;&lt;br&gt;   int main() &#123;&lt;br&gt;       printf(&quot;Hello,&#092;n&quot;);&lt;br&gt;       EMBED_BREAKPOINT;&lt;br&gt;       printf(&quot;world!&#092;n&quot;);&lt;br&gt;       EMBED_BREAKPOINT;&lt;br&gt;       return 0;&lt;br&gt;   &#125;&lt;br&gt;&lt;br&gt;Собираем враппер для gdb:&lt;br&gt;&lt;br&gt;    sudo apt-get install binutils-dev&lt;br&gt;    git clone git://github.com/kmcallister/embedded-breakpoints.git&lt;br&gt;    cd embedded-breakpoints&lt;br&gt;    ./build.sh&lt;br&gt;&lt;br&gt;Собираем тестовое приложение и запускаем под управлением враппера к gdb:&lt;br&gt;&lt;br&gt;   $ gcc -g -o example example.c&lt;br&gt;   $ ./gdb-with-breakpoints ./example&lt;br&gt;&lt;br&gt;   Reading symbols from example...done.&lt;br&gt;</description>

<item>
    <title>Внедрение точек останова gdb в исходный код (Rus)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/87506.html#16</link>
    <pubDate>Fri, 05 Feb 2016 03:25:55 GMT</pubDate>
    <description>Переставь -lbfd в конец:&lt;br&gt;&lt;br&gt;gcc -Wall -std=c99 -o gdb-with-breakpoints gdb-with-breakpoints.c -lbfd&lt;br&gt;</description>
</item>

<item>
    <title>Внедрение точек останова gdb в исходный код (x0r)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/87506.html#15</link>
    <pubDate>Fri, 25 Jan 2013 06:19:22 GMT</pubDate>
    <description>libbfd присутствует. что может быть не так?&lt;br&gt;</description>
</item>

<item>
    <title>Внедрение точек останова gdb в исходный код (x0r)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/87506.html#14</link>
    <pubDate>Fri, 25 Jan 2013 06:18:27 GMT</pubDate>
    <description>не получается собрать. поставил binutils и binutils-devel&lt;br&gt;Target: x86_64-redhat-linux&lt;br&gt;Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --disable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=x86_64-redhat-linux&lt;br&gt;Thread model: posix&lt;br&gt;gcc version 4.1.2 20080704 (Red Hat 4.1.2-54)&lt;br&gt;&#091;xor&#064;gdrca:~/embedded-breakpoints-master&#093;$ ./build.sh&lt;br&gt;+ gcc -Wall -std=c99 -lbfd -o gdb-with-breakpoints gdb-with-breakpoints.c&lt;br&gt;/tmp/cc6OMnYK.o: In function &#096;main&apos;:&lt;br&gt;gdb-with-breakpoints.c:(.text+0x5a): undefined reference to &#096;bfd_openr&apos;&lt;br&gt;gdb-with-breakpoints.c:(.text+0x6f): undefined reference to &#096;bfd_perror&apos;&lt;br&gt;</description>
</item>

<item>
    <title>Внедрение точек останова gdb в исходный код (ram_scan)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/87506.html#12</link>
    <pubDate>Mon, 10 Dec 2012 07:41:57 GMT</pubDate>
    <description>Вот только таким макаром нельзя поставить бряк посреди функции. Хотя-бы на том основании что номера строк имеют свойство в процессе написания кода меняться.&lt;br&gt;&lt;br&gt;А int3 я в код тыкал еще когда на ассемблере кодил. И находил это очень полезным.&lt;br&gt;</description>
</item>

<item>
    <title>Внедрение точек останова gdb в исходный код (прохожий)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/87506.html#11</link>
    <pubDate>Sat, 08 Dec 2012 06:16:03 GMT</pubDate>
    <description>gdb -x script&lt;br&gt;&lt;br&gt;в файле&lt;br&gt;source ...&lt;br&gt;set args ....&lt;br&gt;b $file:line&lt;br&gt;...&lt;br&gt;r&lt;br&gt;&lt;br&gt;это так сложно создать ?&lt;br&gt;&lt;br&gt;на что только не идут люди лишь бы не читать документацию к gdb... один из самых приличных отладчиков&lt;br&gt;</description>
</item>

<item>
    <title>Внедрение точек останова gdb в исходный код (Карбофос)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/87506.html#10</link>
    <pubDate>Thu, 06 Dec 2012 21:08:03 GMT</pubDate>
    <description>пропиретарное дебажить нужно, ну или трассировщиком. а такой подход можно только применять для встраивания в исходники, ибо дизасмы, они суровы. или тут есть герои, которые декомпайлеры применяли, а потом с небольшой вставкой обратно собирали и всё работало? ведь об этом речь чел завел, когда заговорил про &quot;стрипнутые&quot; файлы&lt;br&gt;</description>
</item>

<item>
    <title>Внедрение точек останова gdb в исходный код (Аноним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/87506.html#9</link>
    <pubDate>Thu, 06 Dec 2012 10:46:34 GMT</pubDate>
    <description>Точки останова для всех (запустивших вашу программу из-под wrapper&apos;а GDB), даром. И пусть никто не уйдёт неотлаженным! =)&lt;br&gt;</description>
</item>

<item>
    <title>Внедрение точек останова gdb в исходный код (gaga)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/87506.html#8</link>
    <pubDate>Tue, 04 Dec 2012 18:16:29 GMT</pubDate>
    <description>Я писал. И отладчик при этом от силы пару раз использовал, и то чтобы глянуть, что в библиотеке происходит. Тем не менее, нахожу трюк полезным.&lt;br&gt;</description>
</item>

<item>
    <title>Внедрение точек останова gdb в исходный код (Аноним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/87506.html#7</link>
    <pubDate>Tue, 04 Dec 2012 04:40:00 GMT</pubDate>
    <description>Пипец, ты хоть что-то сложнее helloworld.c писал в своей жизни? ТОЛЬКО ЧЕСТНО.&lt;br&gt;</description>
</item>

</channel>
</rss>
