У меня есть исходный файл foo.c, который имеет следующую реализацию функции:
#include "header.h"
void PREFIX(function_name)(){
...
}
Я скопирую этот файл в две директории (dir1 и dir2). В dir1 у меня есть header.h вот так:
#define PREFIX(a) prefix1_ ## a
и в dir2 у меня есть header.h вроде:
#define PREFIX(a) prefix2_ ## a
Поэтому во время процесса связывания у меня будет два разных имени функции.
Моя проблема возникает, когда я хочу использовать gdb для отладки этой функции, и мне нужно установить точку останова в определенной строке в этой функции.
Если я сделаю:
b foo.c:235
и 235 - это строка внутри реализации функции, в какой функции GDB будет фактически устанавливать точку останова? prefix1_function_name или prefix2_function_name?
Есть ли способ заставить gdb установить точку останова на обоих?
Спасибо!