Вопросы по теме 'panic'

Порядок кода Visual Studio при автозаполнении
Недавно я перешел на Visual Studio Code, и мне это нравится! Он запускается так быстро, и мне просто нравится среда с открытым исходным кодом больше, чем Visual Studio. Но есть одна проблема, с которой я столкнулся, которая беспокоит меня больше,...
1727 просмотров

Модульный тест Rust panic - особенности сопоставления сообщения об ошибке
Я ищу способ утверждать, что часть кода вызывает панику и что сообщение о панике содержит определенную строку. Я придумал следующее, которое, похоже, работает: let actual = std::panic::catch_unwind(|| decode(notation.to_string()));...
570 просмотров
schedule 29.11.2021

Альтернативы panic! () И expect () для --release?
В процессе разработки мой код использует .expect() и panic!() для обработки фатальных ошибок. Их поведение - именно то, что мне нужно во время разработки . Когда я компилировал с --release , я надеялся, что их результат станет более сжатым....
169 просмотров
schedule 08.03.2022

CentOs 7 не загружает аварийное ядро ​​и создает дамп в /var/crash
У нас есть проблема, из-за которой наш сервер CentOS 7 не создает файл дампа ядра в /var/crash при панике ядра. Похоже, аварийное ядро ​​никогда не загружается. Мы следовали руководству Rhel ( http://red.ht/1sCztdv ) по настройке аварийных дампов и...
4896 просмотров
schedule 19.03.2022

Как я могу незаметно отловить панику в тестах QuickCheck?
При тестировании ящика overflower_support я обнаружил, что получаю много ложных сообщений о панике, которые уже обработано с использованием std::panic::catch_unwind(_) . Это немного прискорбно, так как скрывает реальные ошибки, которые могут...
703 просмотров
schedule 13.06.2022

Правильно на вводе, но паника на выходе в golang
Пытаясь написать немного go, я хотел бы создать что-то вроде функции cat в Golang: package main import ( "fmt" "os" "io/ioutil" "log" ) func main() { // part to ask the question and get the input...
610 просмотров
schedule 25.06.2022

Ошибка паники ядра Ubuntu OpenVZ при загрузке
Я хочу использовать OpenVZ на своей платформе Ubuntu 14.04 Trusty. Я установил ядро ​​RHEL6 2.6.32 (ядро vzkernel_2.6.32-042stab093.5_amd64), следуя инструкциям, приведенным в Установка и использование OpenVZ в Ubuntu 13.04 (AMD64) Когда машина...
667 просмотров

Статические переменные вызывают сбой в сети OSX kext
В расширении сетевого ядра Mac OS X я заметил, что если у меня есть статически выделенный буфер, а не динамический, это приводит к панике ядра при вызове функций API, таких как printf() или send(), ctl_enqueuedata(), как ну как и многие другие. Как...
473 просмотров

Как известно функция интерфейса не реализована?
Я только что попробовал следующий код в Go. package main type inter interface { aaa() int } type impl struct { inter } func main() { var a inter a = impl{} // how to check the function for interface `inter` is not realized?...
68 просмотров
schedule 14.08.2022

Почему bufio Go использует панику под капотом?
Читая код из пакета bufio , я нашел такие вещи: // fill reads a new chunk into the buffer. func (b *Reader) fill() { ... if b.w >= len(b.buf) { panic("bufio: tried to fill full buffer") } ... } В то же время...
157 просмотров
schedule 05.09.2022

Предотвращение панических сбоев Golang
В Голанге паника без восстановления приведет к сбою процесса, поэтому в начале каждой функции я добавляю следующий фрагмент кода: defer func() { if err := recover(); err != nil { fmt.Println(err) } }() просто для того, чтобы...
9472 просмотров
schedule 22.09.2022

Что означает отсутствие синхронизации при панике ядра?
Что означает "не синхронизация" в сообщении о панике ядра? Я прочитал, что это означает, что ядро ​​успешно синхронизировало данные с диском, но я не уверен. Типичный контекст: «Паника ядра - не синхронизация - Попытка убить init!»
10917 просмотров
schedule 09.01.2023

Как можно реализовать потокобезопасную оболочку для карт в Go с помощью блокировки?
Я пытаюсь обернуть общую карту (с interface{} как ключом и значением) как хранилище ключей и значений в памяти, которое я назвал MemStore . Но это не потокобезопасно, несмотря на то, что я использовал sync.RWMutex для блокировки доступа к...
662 просмотров
schedule 16.04.2023

Raspbian Wheezy: паника ядра в Raspberry Pi
Я был занят установкой операционной системы (Raspbian Wheezy), мне удалось выполнить все инструкции и заставить Raspberry Pi работать и т. Д. Однако затем, когда я выключил его и через некоторое время перезапустил (первый раз он был включен после...
2914 просмотров
schedule 13.07.2023

Могу ли я преобразовать Iterator‹Item=io::Result‹u8›› в io::Result‹Vec‹u8›› без паники?
У меня есть Iterator<Item=io::Result<u8>> , который я хочу преобразовать в io::Result<Vec<u8>> . iter.map(|x| x.unwrap()).collect::<Vec<u8>>() даст мне Vec<u8> , но как я могу сохранить часть Err...
136 просмотров
schedule 16.04.2023

Как размотать все темы на панике?
Какой наименее ужасный способ реализовать «разворачивать все потоки при панике»? Я хотел бы, чтобы каждый поток (попытка) изящно умирал при панике и SIGINT (и замечал SIGKILLs?). Не похоже, что существует способ прерывания потоков в Rust, поэтому...
321 просмотров
schedule 06.04.2023

Паника в Golang: ошибка времени выполнения: индекс вне допустимого диапазона
Эта функция принимает массив с некоторыми целыми числами, и моя цель — получить новый массив только с положительными целыми числами: func domath(newarray[] int, i int, array[] int)([]int){ if i < len(newarray) { if newarray[i] <...
2475 просмотров
schedule 05.02.2023

Go Reflection Panic: вызов с использованием интерфейса {} в качестве типа
Я возился с отражением в Go и наткнулся на интересный сценарий. call1() работает (возвращает "hello!" ), а call2() паникует с reflect: Call using interface {} as type string . В приведенном ниже коде единственная разница между call1() и...
1035 просмотров
schedule 18.02.2023

Почему я не могу увидеть полную панику ядра Linux внутри моего терминала на дисплее, но могу через COM-порт?
Бывают случаи, когда нужно посмотреть полный лог паники ядра Linux. Но часто это невозможно сделать через обычный терминал на дисплее. Я думал, что это надо делать через COM- порта, но не могу понять: Как мне это сделать? В чем причина того, что...
225 просмотров
schedule 08.12.2022

Целочисленная операция с границей при переполнении в Rust
Проблема, с которой я столкнулся недавно, требует выполнения целочисленных операций с границей на основе битов целочисленного типа. Например, используя целое число i32 для выполнения add операции, вот фрагмент псевдокода, чтобы представить идею:...
425 просмотров
schedule 03.11.2022