to post messages and comments.

как такое может быть?

21 pub fn show_enum(ptr: *mut Result<u8,u16>) {
(gdb) x/8xb ptr
0x4255d8 <c65Q_info>: 0x48 0x8b 0x45 0x08 0xbf 0x02 0x00 0x00
(gdb) step
23 Box::from_raw(ptr)
(gdb) x/8xb ptr
0x6e0e10: 0x00 0x00 0x00 0x00 0x08 0x00 0x00 0x00

#[no_mangle]
pub fn show_enum(ptr: *mut Result<u8,u16>) {
let result : Box<Result<u8,u16>> = unsafe {
Box::from_raw(ptr)

Вышла новая версия — 7.6
каких-то больших улучшений не видно на первый взгляд.
хотя вот more Python scripting improvements.
Я вот этот python scripting в gdb никак не осилю. надо будет как-нибудь поразбираться, что это такое.

Что такое end-stepping-range в gdb, когда я пытаюсь пройтись пошагово по инструкциям?
Почему при этом окошко асма не обновляется. Кто-нибудь вообще емаксом сишечку отлаживает?

как я вообще жил раньше без gdb-шных pretty printer-ов?
apt-get install kdevelop-data (да, там куча хлама, но пакетированной альтернативы не нашёл)
cp /usr/share/kde4/apps/kdevgdb/printers/gdbinit ~/.gdbinit

Чтоб не потерялось: костыль выдающий список нужных дебаг-пакетов, которые есть в репах

echo "attach $PID\ndetach" | gdb -x — 2>/dev/null | \
sed -n 's/Reading symbols from \(.*\)\.\.\.(no debugging symbols found)\.\.\.done\./\1/p' | \
while read p
do
dpkg -S $p
done | awk '{print $1}' | sort -u | cut -d : -f 1 | sed 's/^/\^/;s/$/\$/' | xargs aptitude -F '%p' search

GDB

я фигею с этой штуки:
можно выделить память прямо из gdb и вызвать функцию с параметром в виде указателя, в который запихнуть толькочто выделенную память, да ещё и остановиться там О_о

типа так:
print /x calloc( 1,4 )
=> 0x804a018
tb f_with_ptr_arg
call f_with_ptr_arg( (int*)0x804a018 )

? GDB

В gdb я могу поставить условие на брейк, условие — любое выражение на текущем ЯП. А вот можно ли поставить условие вида "посмотри в стек на уровень выше, и если там вот эта функция, то стоп"

при отладке программ собранных в gcc с mingw бинарник gdb взятый из mingw-cross-env работает намного лучше чем родной из поставки виндового mingw

ygrek.org.ua — добавил показ всех чанков major heap'а. Следующим шагом хочу сделать отображение этой информации (адреса и размеры) на карту виртуальной памяти (info proc mappings). А ещё наверное надо в objsize подкрутить сбор распределения тэгов по чанкам — должно забавно получиться.

GDB

подскажите как сделать правильно брикпоинт с условием, нужно ловить если в конструкторе значение определенной переменной больше чем.

[00:08] wasd> а ещё гдб несёт какую-то хуйню, кстати. ща пример приведу.
[00:09] wasd> (gdb) b cmdlet_search
Breakpoint 1 at 0x400ec3: file plugins.c, line 14.
[00:09] wasd> но на деле функция в 96 строке
[00:09] LexsZero> а на 14 што?
[00:09] wasd> b plugins.c:96 говорит что в этом файле нет 96 строки
[00:10] wasd> на 14 это:
for(i = 0; cmdlist[i] != 0; i++) {}
[00:10] wasd> какие-то кривые дебагсимволы штоле
[00:10] LexsZero> хм, мейби
[00:11] wasd> причем после клина и полного ребилда ровно та же херня. надо бы гцц 4.5 поставить, а то это 4.6
[00:11] wasd> боже, ещё и prerelease. откачусь-ка.
[00:15] wasd> 4.4 ведёт себя ок.
[00:15] LexsZero> лол
[00:15] LexsZero> ГНУ

? GDB

Посоны, у меня вопрос. Есть shared object. Как бы мне запихать его в gdb и вызывать из него разные функции, подставляя в них аргументы и смотря чогде там падает?

Эм. А почему если я делаю брейпойнт на создании некоторого объекта, после которого всё крешится, а потом много-много раз жму si в gdb, то всё выглядит так, будто крешится всё на стадии входа в конструктор, однако если после креша сделать up 1, оказывается, что мы уже далеко зашли в конструкторе, всё няшно видно, вот она ошибка, и всё такое.
ЧЯДНТ?

Предоставлю данные, которые помогут ответить ._.

недавно в процессе дебага случайно(да, не силён в консольном дебаге) что-то нажал и gdb стал показывать код в real-time. в следующий раз уже не вспомнил что это было. сейчас нашёл как это воспроизвести — C-x C-a

лол, по недосыпу набрал в gdb "make", и чо вы думаете? запустился make и собрал проект. удобнота, набрал make, затем r и готово, после чего половил чокак и тыкнул C-x o, поменял чонадо, C-x C-s C-x o make r y C-c C-c C-x o и так в цикле :3 :3 :3 :3 :3