Выполнение функции на основе события, когда функция возвращается в c, возможно ли это во время выполнения?

Проблема, с которой я сталкиваюсь, заключается в том, что некоторые приложения используют библиотеку, созданную для включения ведения журнала. Мы не можем перекомпилировать код для работающих приложений, поскольку они являются устаревшими приложениями.

поэтому мне нужно добавить функциональность в файл библиотеки и связать исходный код с файлами библиотеки.

функция, определенная в файле библиотеки с именем DEBUG_DATA ()

-> возвращает строку имени функции и т. д.
-> эта функция уже используется в приложении,
что мне нужно сделать, это на выполнение этой функции DEBUG_DATA
Мне нужно добавить событие и вызвать событие, как только функция, вызывающая debug_data, вернется.

Можно ли создать триггер на событие в C, где триггер не вызывается?
это можно сделать во время выполнения? как в настройке стека?

РЕДАКТИРОВАТЬ: это добавлено в DEBUG_DATA ():

void Dynatrace_Method_START(
const char *ms_FunctionName, const char *ms_FileName, int ms_LineNO)
{
#ifdef DT_USE /*a global variable needs to be initiated for stack trace lets call it int Dyna_M_SERIAL*/
DT_Current_Stack++;
if (DT_Current_Stack<=DT_STACK) {
// FILE_NAME_STRIPPER(ms_FileName);
Dyna_M_SERIAL++;
fprintf(pfile,"%d,mstart,%s,%s,%d,%s,%d\r\n",
Dyna_UID, ms_FunctionName, FILE_NAME_STRIPPER(ms_FileName), ms_LineNO,
sProgram_‌​name, Dyna_M_SERIAL);
Line_Reference[Dyna_M_SERIAL]=ms_LineNO;
}
#endif
}

ОС — Guardian H Series TNS \ E, компилятор — Compaq ETK -NSE.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]