LINUX.ORG.RU
ФорумTalks

[Не понял] Чудеса WINEDEBUG


0

1

Однажды, а точнее, сегодня утром стало мне немного скучно и решил я немножко поиграть. Копаясь в дисках, совершенно случайно наткнулся на Half Life Source, решил сыграть в неё. Но вот собака, падает игрушка с Runtime Error. Что только не делал, и с новым префиксом запускал, и библиотеки ставил, и ключи подбирал. Ничего не помогло.

Через 4 часа мучений я уже хотел бросить эту игру, но таки решил подебажить и выставил для начала WINEDEBUG=warm+all. И произошло неожиданное - игра запустилась как влитая. Обрадовавшись, убрал значение переменной - runtime error. Теперь вопрос - как смена этого параметра может влиять на запуск приложения? Он же вроде как только определяет, какие сообщения выводить на экран в консоли?

Хм. Код Wine особо не копал, но подозреваю, что с debug'ом оно работает тормознее, лишняя задержка могла помочь =) Ну, или таки дебаг чего-то подменяет из функций.

Sadler ★★★
()

Да как обычно: неициализированные переменные, которые случайно при запуске с одними ключами приходятся на нули в стеке, и всё работает; а при запуске с другими ключами — всё падает.

geekless ★★
()

Да, я забыл отметить, что игра запускается только при warm+all. Во всех остальных значений дебага игра уверенно падает. Весело, да и только.

FakeLinux
() автор топика

Я вот наткнулся на то, что в последних вайнах всегда идеально работающий хл2 поломали. Пришлось откатиться до стабильного 1.2.*.

Yareg ★★★
()

мануал читать лень? ССЗБ

ipwww ★★
()

> WINEDEBUG=warm+all

warm или warn?

Вывод в консоль способен сильно замедлить программу, подтверждаю. Вероятно, это как-то сказывается.

question4 ★★★★★
()

Скорее всего это говорит об ошибке в коде игры, которая по счастливому стечению обстоятельств не проявлялась на винде и в режиме отладки. Это может быть неинициализированные перменные, переполнение буфера, race condition и т.п.

snizovtsev ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.