Запитання з тегом «debugging»

це процес пошуку та зменшення кількості помилок або дефектів у комп'ютерній програмі, таким чином змушуючи її вести себе так, як очікувалося

1
У сценаріях налагодження, яка різниця між -x для встановлення -euxo pipefail?
Основний спосіб, яким я знаю, налагоджувати сценарії - це додавання -xдо шабангу ( #!/bin/bash -x). Нещодавно я натрапив на новий спосіб, додавши set -euxo pipefailпрямо під шабанг, як у: #!/bin/bash set -euxo pipefail У чому головна відмінність двох способів налагодження? Чи бувають випадки, коли ви віддаєте перевагу один над іншим? …

2
Чи може gdb налагоджувати кореневі програми?
Я написав програму, яка дзвонить setuid(0)і execve("/bin/bash",NULL,NULL). Тоді я і зробив chown root:root a.out && chmod +s a.out Коли я виконую, ./a.outя отримую кореневу оболонку. Однак коли я gdb a.outце роблю, він запускає процес як звичайний користувач і запускає оболонку користувача. Отже ... чи можу я налагодити встановлену кореневу програму?
16 debugging  setuid  gdb 

4
Як я можу налагоджувати проблему Suspend-to-RAM в Linux?
Я сподіваюся отримати на основі досвіду пропозиції щодо вирішення проблеми налагодження призупинення роботи оперативної пам’яті. Поради, характерні для моєї ситуації (детальніше нижче), були б чудовими, але мене також цікавлять загальні поради щодо налагодження таких питань. Проблема: Часто, коли я намагаюся призупинити свою машину, вона застрягає у стані "не припинено, але …

2
напруга для дзвінків у бібліотеку
Я знаю про напругу, що дуже зручно для перегляду системних дзвінків. Чи є еквівалент, який може відстежувати дзвінки до зовнішніх бібліотек? Наприклад, я намагаюся налагодити деяку поведінку SSLeay з стороннім двійковим кодом, на який я не можу отримати доступ до коду (і хто розробник не відповідає). Я вважаю, що я …

1
Як змусити gdb не запитувати мене "у чи п"?
Коли я використовую команду GDB add-symbol-fileдля завантаження символу, GDB завжди запитує мене "y чи n", наприклад: gdb> add-symbol-file mydrv.ko 0xa0070000 add symbol table from file "mydrv.ko" at .text_addr = 0xa0070000 (y or n) Як змусити його не запитувати та виконувати тихо?
14 debugging  gdb 

2
Чи є спосіб для скрипта оболонки знати, яка програма його виконала?
Чи існує у * nix світі, чи є у сценарію оболонки інформація про те, яка програма його виконала? Приклад: /path/to/script1 /path/to/script_xyz у цьому уявному сценарії script_xyzматиме інформацію про шлях ( /path/to/script1) або обробити PID суб'єкта господарювання, який його виконав. Примітка: мені цікаво різні рішення та підходи, я не очікую, що …

2
Спостереження за записом на жорсткий диск у просторі ядра (з драйверами / модулями)
Вибачте заздалегідь, якщо ця публікація трохи щільна / безладна, але мені важко сформулювати її краще ... В основному, я хотів би вивчити, що відбувається під час запису на жорсткий диск, і я хотів би знати: Чи правильно моє розуміння нижче - а якщо ні, то де я помиляюся? Чи є …

2
Як пасивно захопити з розеток домену Unix (моніторинг сокетів AF_UNIX)?
Захоплення TCP / IP і UDP можна зробити за допомогою tcpdump/ dumpcapі створює файл pcap / pcapng, який може бути переданий Wireshark для подальшого аналізу. Чи існує подібний інструмент для названих розеток Unix домену? (Загальне рішення, яке працює для абстрактних розеток, було б непогано.) straceяк-є недостатньо, фільтрувати вводи / виведення …

3
Чи можна розтягнути вбудовані команди до Bash?
Натхненний цим питанням під назвою: Коли вбудовані команди завантажуються в пам'ять , намагаючись відповісти на це, я спробував наступну команду і трохи здивувався, що не зміг її виконати: $ strace cd $HOME Чи є метод, яким я можу скористатися, щоб запустити strace для вбудованих команд до Bash?
13 bash  debugging  strace 

2
Еквівалент "truss -T" та "truss -U" в Linux?
Чи є еквівалент тому, що робить -Tі -Uопція trussутиліти Solaris в Linux. Вони повинні вказати системний виклик ( -T) або функцію бібліотеки ( -U), яка при виклику відстеженої програми спричинить його зупинку. Або, якщо говорити інакше, я хочу, щоб будь-який процес, розпочатий відстежуваною програмою, був зупинений (як би вбитий SIGSTOP), …

2
Дамп ядро ​​процесу, не вбиваючи процес
Чи є спосіб отримати основний дамп (або щось подібне) для процесу, не фактично вбиваючи процеси? У мене є багатопотоковий процес python, який працює на вбудованій системі. І я хочу мати змогу отримати знімок процесу за звичайних умов (тобто з іншими процесами, необхідними для запуску), але мені не вистачає пам'яті, щоб …

3
Як можна простежити проблеми збоїв програм у Linux?
Якщо програма виходить з ладу в Windows, ми можемо перевірити переглядач подій в інструментах адміністрування, щоб побачити, що сталося. Іноді в ній є корисна інформація, інші - ні, але це початок. У Linux, якщо програма (будь-яка) виходить з ладу, як починати відстежувати те, що сталося? Чи є, наприклад, якийсь центральний …

1
Помилка BIOS ACPI / AE_NOT_FOUND
Я отримую ці повідомлення про помилки щоразу, коли перезавантажую робочий стіл (і ще пару, які я не знаю, як зберегти, коли воно вимикається, але це поки що не стосується цього питання): [gorre@uplink ~]$ journalctl -p err..alert ... -- Reboot -- May 11 21:47:03 uplink kernel: ACPI BIOS Error (bug): Failure …

4
Як я можу визначити, чи був запущений в даний час скрипт bash з -x для налагодження?
У мене є сценарій, launch.shякий виконує себе як інший користувач, щоб створити файли з правильним власником. Я хочу передати -x до цього виклику, якщо він був спочатку переданий до сценарію if [ `whoami` == "deployuser" ]; then ... bunch of commands that need files to be created as deployuser else …
11 bash  debugging 

2
Де файл журналу vagrant?
Я намагаюся налагодити проблему, пов’язану з бродяжником або з VirtualBox (див. Невдача тайг -бродяг у забезпеченні робочого тайгового середовища №21 ). Команда VAGRANT_LOG=debug vagrant up --debugвиводить велику кількість, напевно, корисної інформації. Де зберігається цей журнал? Правка: VAGRANT_LOG=debug vagrant up насправді те саме, що vagrant up --debug. Я працюю над / …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.