Скрипты IDA - не выводит MessageBox()

Изучаю скриптовый язык IDC и заметил, что вызов функции Message() выводит на консоль (в окно "Output"), хотя по описанию в хелпе должна вроде в форточку. Для вывода есть ещё msg(), но и она печатает на консоль. А вот warning() и error() работают уже правильно, осуществляя вывод именно в MessageBox(). Может в файле "idagui.cfg" нужно что-то поправить, но ничего подходящего я в нём не нашёл. Никто не знает, в чём может быть проблема? Использую "IDA-Free v8.4".

auto a,b;
a = "IDA Free 8.4";
b = 0x05092025;
msg("%s\n",a);
Message("0x%08x\n",b);

Ответы (1 шт):

Автор решения: Andrew Hobbit

Так и должно быть. Из документации:

void Message (char format,...); Функция выводит строку в окно сообщений (Messages windows) IDA. Это наиболее популярный способ вывода результатов работы скриптов, а так же отладочных и диагностических сообщений. Перед выполнением примера убедитесь, что окно сообщений не закрыто остальными окнами.

void Warning (char format,...); Функция выводит диалоговое окно, предупреждающие об аварийной ситуации. Обратите на тип возращаемого значения void. То есть функция не предоставляет информации, о том какая клавиша была нажата.

→ Ссылка