Це команда dwz, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн емулятор Windows або онлайн емулятор MAC OS
ПРОГРАМА:
ІМ'Я
dwz - інструмент оптимізації DWARF та видалення дублікатів
СИНТАКСИС
dwz [ВАРІАНТ...] [ФАЙЛИ]
ОПИС
dwz це програма, яка намагається оптимізувати налагоджувальну інформацію DWARF, що міститься в ELF
спільні бібліотеки та виконувані файли ELF для розміру, замінивши інформацію DWARF
представлення з еквівалентним меншим представленням, де це можливо, і шляхом зменшення
кількість тиражування з використанням прийомів із стандартного додатка DWARF - створення
DW_TAG_часткова_одиниця одиниці компіляції (CU) для дубльованої інформації та використання
DW_TAG_imported_unit імпортувати його до кожного МС, який потребує цього.
Інструмент обробляє розділи налагодження 32-розрядного формату DWARF версій 2, 3 і 4 і GNU
розширення поверх них, хоча використання DWARF 4 або в гіршому випадку DWARF 3 дуже корисно
рекомендується.
Інструмент має два основних режими роботи, без -m варіант, який він намагається оптимізувати
Інформація про налагодження DWARF у кожному даному об’єкті (виконаваному файлі або спільній бібліотеці)
індивідуально, з -m Опція згодом намагається оптимізувати ще більше шляхом переміщення
Записи налагоджувальної інформації (DIE), рядки та описи макросів дублюються в
більше одного об'єкта у щойно створений об'єкт ELF ET_REL, ім'я файлу якого вказано як -m
аргумент параметра. Розділи налагодження у виконуваних файлах і спільних бібліотеках, зазначених на
потім командний рядок знову змінюється, посилаючись на об’єкти у щойно створеному
об'єкт
ВАРІАНТИ
-m Фото --багатофайловий Фото
Багатофайловий режим. Після обробки всіх іменованих виконуваних файлів і спільних бібліотек,
спроба створити об'єкт ELF Фото і помістити налагоджувальну інформацію, продубльовану більше
більше одного об'єкта, потім оптимізуйте кожен іменований виконуваний файл або спільну бібліотеку
навіть далі, якщо можливо.
-h --жорстке посилання
Шукайте виконувані файли або спільні бібліотеки, жорстко пов’язані разом, замість того, щоб перезаписувати
вони окремо переписують лише одну з них і жорстко пов’язують решту з першою
знову.
-M ІМ'Я --багатофайлове ім'я ІМ'Я
Вкажіть ім’я загального файлу, який потрібно помістити в файл .gnu_debugaltlink
розділ разом із ідентифікатором збірки. За замовчуванням dwz поміщає туди аргумент
-m варіант.
-r -- родич
Вкажіть ім’я загального файлу, який буде поміщено в файл .gnu_debugaltlink
Розділ має бути відносним шляхом від каталогу, що містить файл
виконуваної або спільної бібліотеки до файлу, названого в аргументі -m варіант.
Або -M or -r параметр можна вказати, але не обидва.
-q --спокійно
Заглушіть деякі з найпоширеніших повідомлень.
-o Фото - вихід Фото
Ця опція вказує dwz не перезаписувати вказаний файл, а зберігати
новий вміст у Фото. Нічого не написано якщо dwz виходи з ненульовим виходом
код. Можна використовувати лише з одним виконуваним файлом або спільною бібліотекою (якщо її немає
взагалі аргументи, а передбачається).
-l COUNT --low-mem-die-limit COUNT
Обробляти виконувані файли або спільні бібліотеки, що містять більше ніж COUNT налагодження
інформаційні записи в їх .debug_info розділ із використанням повільнішої та більшої пам’яті
використовуйте зручний режим і не намагайтеся оптимізувати цей об’єкт у багатофайловому режимі.
За замовчуванням 10 мільйонів DIE. Існує ризик, що для дуже великих сум
інформації про налагодження в одній спільній бібліотеці або виконуваному файлі може не бути
достатньо пам’яті (особливо коли dwz інструмент 32-розрядний двійковий, він може закінчитися
доступний віртуальний адресний простір ще раніше).
-L COUNT --max-die-limit COUNT
Не намагайтеся оптимізувати виконувані файли або спільні бібліотеки, що містять більше ніж
COUNT Вмирає взагалі. За замовчуванням 50 мільйонів DIE.
-? --допомога
Надрукуйте коротку довідку та вийдіть.
-v -- версія
Роздрукувати номер версії та коротке повідомлення про ліцензування та вихід.
АРГУМЕНТИ
Аргументами командного рядка повинні бути виконувані файли, спільні бібліотеки або їх розділені
файл окремих об’єктів налагоджувальної інформації.
ПРИКЛАДИ
$ dwz -m .dwz/foobar-1.2.debug -rh \
bin/foo.debug bin/foo2.debug foo/lib/libbar.so.debug
спробує оптимізувати налагоджувальну інформацію в bin/foo.debug, bin/foo2.debug та
lib/libbar.so.debug (змінюючи файли на місці) і, коли це вигідно, також створить
.dwz/foobar-1.2.debug файлу. .gnu_debugaltlink розділ у перших двох файлах буде посилатися
до ../.dwz/foobar-1.2.debug а в останньому файлі до ../../.dwz/foobar-1.2.debug. Якщо напр
bin/foo.debug та bin/foo2.debug спочатку були жорстко пов’язані між собою, вони будуть
знову жорсткі посилання та для багатофайлової оптимізації розглядаються лише як один файл
ніж два.
$ dwz -o foo.dwz foo
не буде змінюватися Foo але замість цього зберігати об'єкт ELF з оптимізованою інформацією про налагодження
у разі успіху в foo.dwz файл, який він створює.
$ dwz *.debug foo/*.debug
спробує оптимізувати інформацію про налагодження у файлах *.debug і foo/*.debug,
оптимізація кожного файлу окремо на місці.
$ dwz
еквівалентна dwz а команда
Використовуйте dwz онлайн за допомогою служб onworks.net