Вопросы по теме 'panic'
Порядок кода Visual Studio при автозаполнении
Недавно я перешел на Visual Studio Code, и мне это нравится! Он запускается так быстро, и мне просто нравится среда с открытым исходным кодом больше, чем Visual Studio. Но есть одна проблема, с которой я столкнулся, которая беспокоит меня больше,...
1727 просмотров
schedule
05.11.2021
Модульный тест 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 просмотров
schedule
07.07.2022
Статические переменные вызывают сбой в сети OSX kext
В расширении сетевого ядра Mac OS X я заметил, что если у меня есть статически выделенный буфер, а не динамический, это приводит к панике ядра при вызове функций API, таких как printf() или send(), ctl_enqueuedata(), как ну как и многие другие. Как...
473 просмотров
schedule
16.07.2022
Как известно функция интерфейса не реализована?
Я только что попробовал следующий код в 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