У меня есть бинарный файл C ++ размером 190 МБ.Когда я помещаю этот двоичный файл в dbx и пытаюсь создать точку останова, dbx зависает.Пока dbx завис, я заметил, что его память быстро выросла до 10 ГБ.TotalView позволяет мне устанавливать точки останова;однако все данные, которые он отображает, являются поддельными.Я успешно отладил многие другие меньшие двоичные файлы, поэтому я догадываюсь, что проблема заключается в большом размере этого двоичного файла.
Двоичный файл: исполняемый 32-битный MSF ELF SPARC32PLUS версии 1, V8 + Обязательный, динамически связанный, не удаленный.
Компилятор: CC: Sun C ++ 5.9 SunOS_sparc 2007/05/03.
Dbx: 7,6 SunOS_sparc 2007/05 / 03.
TotalView: 8.2.0-0
Операционная система: Solaris 10
Как я использую Dbx:
dbx mybinary
stop at Something.cc:170
Dbx никогда не возвращается из этой команды, и мне приходится в конечном итоге убивать Dbx из отдельного терминала.
Я пробовал несколько вещей безуспех:
1. Динамически переключается на связывание в большинстве библиотек, что уменьшает размер двоичного файла до 19 МБ.
2. Пробовал на Solaris x86.
3. Скомпилировал программное обеспечение как 64-битное.
Кто-нибудь знает, что может вызвать это и как решить проблему?