D3 Reference Manual

Index | Help

Поиск по страницам

Разделы / С-функции / _CP_debug

_CP_debug

debug (функциональность оператора FlashBASIC)

int _CP_debug(int expression)

Аналогична следующему операторы FlashBASIC:

debug

Однако между ними есть небольшое различие. Выражение, передаваемое в "_CP_debug" выдается на экран как фиктивный номер строки в отладчике FlashBASIC. Переменные в программе на C неизвестны отладчику FlashBASIC. Для обращения к ним пользователь должен использовать системный отладчик - например, "dbx" или "sdb". Но оператор "CP-debug" также полезен, т.к. может использоваться для установки точек прерывания в подпрограммах FlashBASIC, котрые будут вызваны впоследствии.

В случае ошибки эта функция возвращает "-1". Код ошибки содержится в "_CP_errno".

Примеры:

В следующем примере происходит вход в отладчик FlashBASIC, а затем вызывается программа "mysub".

CPSTR * s = _CP_mkstr("mysub");
int i = -1;
_CP_debug(1);
_CP_call(&i,s,0);

Во время прогона пользователь может задавать точки прерывания (break points) для еще не выполненной подпрограммы "mysub". Например, для останова в тот момент, когда подпрограмма "mysub" дойдет до строки 3, пользователь должен ввести по приглашениям отладчика сначала "mysub:b$=3", а затем - "g". В результате произойдет прерывание отладчика FlashBASIC на строке 3 подпрограммы "mysub".