Вопросы с тегом «debugging»

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

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

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

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

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

1
Как заставить gdb не спрашивать меня «y или n»?
Когда я использую команду 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), которая при вызове отслеживаемым приложением приведет к его остановке. Или, в противном случае, я бы хотел, чтобы любой процесс, запущенный отслеживаемым приложением, был остановлен (как если …

2
Дамп процесса ядро, не убивая процесс
Есть ли способ получить дамп ядра (или что-то подобное) для процесса, фактически не убивая процессы? У меня есть многопоточный процесс Python, работающий на встроенной системе. И я хочу иметь возможность получить снимок процесса в нормальных условиях (то есть с другими процессами, необходимыми для запуска), но у меня недостаточно памяти для …

3
Как мы можем отследить проблемы сбоев программ в Linux?
Если в Windows происходит сбой приложения, мы можем проверить программу просмотра событий в инструментах администрирования, чтобы увидеть, что произошло. Иногда у него есть полезная информация, которой нет у других, но это только начало. В Linux, если приложение (любое) падает, как начать отслеживать, что произошло? Например, есть ли центральный журнал или …

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

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

2
Где находится лог-файл vagrant?
Я пытаюсь отладить проблему, связанную с vagrant- или VirtualBox (см. Taiga-vagrant не может обеспечить рабочую среду тайги # 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.