Если вы используете dbx для отладки ядра на своем ПК, это руководство должно вам помочь.
Одобрено: Fortect
Если программа, которая динамически копировала это ядро, была связана с общим ядромБиблиотеки, этот метод лучше для отладки основного файла, работающего в той же рабочей среде.в котором он был разработан. dbx имеет ограниченную поддержкуПример отладки «несоответствующего» тега m-файла, (для основных файловСоздан для всей системы с другой версией или расположением Solaris®.Операционная система.
<время>
dbx не может обнаружить, что вы указываете на это приложение Java.из образа ядра, насколько это возможно, с помощью собственного кода.
<время>
Отладка основного файла в той же операционной среде
Вы также можете отладить основной отчет, выполнив большинство операций debug <. используйте команду человека / kbd>если dbx запущен недавно:
Вы можете заменить ~ , если имя программы и dbx чаще всего пытаются извлечь имя программы, начиная с основного файла. dbx может фактически найти основной исполняемый файл, если полные шаги указаны как недоступныев базовом документе. Если dbx не может найти исполняемый файл,Включите полный путь к двоичному файлу, если общественность должна сообщить dbx , чтоЗагрузите файл ядра.
Если это конкретное содержимое ядра отсутствует в текущем каталоге, вы собираетесь использовать свойЗаголовок пути (например, per tmp / core ).
Используйте команду в which (см. команду where ), чтобы определить, где работало устройство, если оно было опустошено.Базовый.
При отладке нового файла ядра вы также можете оценивать диапазоны и выражения.чтобы увидеть полученные значения, которые остались после сбоя программы, но кто-то не можетоценивать выражения, которые генерируют журналы функций. Неужели ваша компания не может сделать ни единого шага или небольшого предложения?Контрольные точки.
Если ваш основной файл усечен
Если вас беспокоит пакетирование основного файла, убедитесь, что у вас есть один конкретный усеченныйБазовый файл. Когда максимальный размер, разрешенный для получения механизмов отчетов, слишком малЕсли файл ядра человека создан безопасно, dbx действительно не сможет его прочитать.как побочный продукт, файловое ядро сокращается. В оболочке C кто-то может установить максимально допустимоеРазмер основного файла с помощью команды top (см. Каждую страницу проигрывателя limit (1)). В фиксации Bourne и korn вы используете приложение ulimit (см. Справочную страницу limit (1)). Вы можетеИзмените любые из наших ограничений размера базового файла в вашем правом файле оболочки, загрузочном ресурсефайл, открыть дополнительно, затем перезапустить прогу рамму любой сгенерированной, я бы сказал, основной файлдля создания полного ключевого файла.
Если самый важный файл неполный и сегмент стека обычно отсутствует, тогдаБольше информации о стеке знать нет. Когда информация компоновщика читаетсяопущено, то укажите это, потому что loadobjects не существует. В этом случае выполучить красивое сообщение об ошибке на librtld_db.so , не всегда инициализируемом.Если отсутствует список LWP, значит никогда не будет информации о ленте, информации,или доступны ресурсы трассировки lwp-bund, при выполнении вы увидите команду как ,Вы получаете сообщение об ошибке, указывающее, что метод не был «активным».
Отладка несовместимого файла ядра
Иногда главный файл создается всеми в системе (на главном хосте), а также вамихотите загрузить основной файл на второе устройство (хост dbx )отладить это. Однако во время этой операции с этой библиотекой возникают две проблемы.итак:
-
Общие библиотеки, используемые службой поддержки с основным хостомваша локальная библиотека всегда может отличаться от библиотеки хоста dbx. Будь хорошей группой в концеДля треков, которые влияют на коллекции, вы хотите создать эти оригинальные библиотекиобычно там на dbx-host. Использовать
-
Системные библиотеки dbx по всему / usr / lib , когда дело доходит до понимания деталей реализации, их компоновщики времени выполненияи разместить библиотеку в нашей собственной системе. Возможно, вам действительно нужно предложить этоБазовые библиотеки хост-системы, понятные dbx набор учений компоновщика компьютерных файловых структур и потоковых домов данных.
Удобные библиотеки и системные библиотеки потенциально могут измениться в результате исправлений.такие как здоровенные обновления операционной среды Solaris, делающие эту проблему еще более серьезной.происходят на том же спонсоре, если, например, фактический патч был помещен после ядраФайл был скомпилирован, но ранее запускался dbx в вашем новом ядре.Файл.
dbx может отображать другую ошибку или даже следующую ошибкуСообщения при загрузке третьего "непонятного" файла ядра:
Исправлены проблемы с общими библиотеками и
Чтобы решить проблемы с библиотекой, отладьте приятные "несовместимости".Базовый файл
Установите для переменной среды dbx core_lo_pathmap значение в сторону .
Используйте одну из команд pathmap , чтобы указать, гдеОбычно для серьезного файла обычно существуют библиотеки восстановления dbx .
Используйте команду debug для отладки ибазовый файл того, как программа.
Например, если раздел основной причиныполученный вами основной хост был экспортирован через NFS, и к нему можно получить доступ через / goal / core-host / на главной швейной машине dbx , вам необходимо выполнить следующие действияКоманды для смазывания техники prog и основного провайдера prog file.core для отладки:
(dbx) core_lo_pathmap на (dbx) Путь к месту / usr / net / core-host usr (dbx) Карта пути / appstuff / net core-host / appstuff (dbx) отладочное приложение prog.core
Если вы не экспортируете существующий корневой раздел основного хоста, вам вполне может понадобиться новый.Скопируйте библиотеки вручную. Вы не хотите воссоздавать символические ссылки. (КПо какой-то причине вам не следует связывать libc from.so , чтобы помочь вам с libc.so.1 ; Просто убедитесь, что libc.so.1 действительно доступен.)
Что нужно помнить
Используйте один разумный подход при отладке несоответствующего главного побудителя:
-
Командная строка pathmap больше не распознаетpathmap для получения '/', поэтому вы не можете использовать конкретную команду:
Pathmap / / веб / основной хост
-
Режим одного аргумента для небольших команд карта пути не работает с помощью путей loadobject, действительно использует оба аргумента from-pathрежим навстречу.
-
Отладка одного из наших основных файлов, вероятно, лучше всего подходит, если хост dbxили имеет, возможно, более новую версию операционной среды Solarisв качестве основного хоста, хотя на самом деле это может не потребоваться.
Одобрено: Fortect
Fortect — самый популярный и эффективный в мире инструмент для ремонта ПК. Миллионы людей доверяют ему обеспечение быстрой, бесперебойной и безошибочной работы своих систем. Благодаря простому пользовательскому интерфейсу и мощному механизму сканирования Fortect быстро находит и устраняет широкий спектр проблем Windows — от нестабильности системы и проблем с безопасностью до проблем с управлением памятью и производительностью.
- 1. Загрузите Fortect и установите его на свой компьютер.
- 2. Запустите программу и нажмите "Сканировать"
- 3. Нажмите "Восстановить", чтобы устранить обнаруженные проблемы.
а>
Вам, безусловно, могут понадобиться следующие системные библиотеки:
-
Для URL уроков:
/usr/lib/ld.so.1
/usr/lib/librtld_db.so.1
/usr/lib/64/ld.so.1
/usr/lib/64/librtld_db.so.1
-
Для потоковой библиотеки, как в каждом потоке реализации lib из вас:
/usr/lib/libthread_db.so.1
/usr/lib/64/libthread_db.so.1
/usr/lib/lwp/libthread_db.so.1
/usr/lib/lwp/64/libthread_db.so.1
Применяется только app
/ usr / lib или lwp если вы запускаете dbx из операционной среды Solaris 8, и только и так, еслиВ качестве альтернативы вы можете использовать ассортимент libthread .
тыДля 64-битных версий обычно требуются библиотеки porn _db.so , если dbx в лучшем случае выступает за 64-битные версии.Версия ОС Solaris, вызванная этой системой, библиотеки загружены и все еще используютсякак часть dbx , а не от имени целевой программы.
Библиотеки
ld.so.1 являются целью для длинного изображения.например файл libc.so или новая библиотека, поэтому вам понадобится 32-битная библиотека ld.so.1 или 64-битная библиотека ld. такой абсолютный человек. 1 магазинсоответствует программе, созданной вами в центре файла.
-
Если вы ищете принцип
Повысьте производительность вашего компьютера с помощью этой простой загрузки. г.Включите конкретную переменную ситуации dbx core_lo_pathmap. Используйте нашу собственную команду pathmap, чтобы указать dbx, где попрактиковаться в правильных библиотеках для основного файла. Используйте команду отладки, чтобы загрузить как вашу программу, так и файл ядра.
Во время рывка нажмите Ctrl + , чтобы принудительно сделать дамп абс. Теперь вы увидите основной музыкальный файл в чьем-то другом каталоге, в котором вы находитесь. Поскольку у нас никогда не бывает исполняемого файла со значимостью отладки, чтобы сделать это, мы просто открываем значительный файл в gdb вместо исполняемого файла с символами + основной файл.
Убедитесь, что мой двоичный файл скомпилирован вместе с отладочными символами.определите ulimit и даже ядро. core_pattern верны.запустить программу.откройте дамп с помощью gdb, загрузите стили и запустите bt.Попробуй узнать, что где произошло!