Поиск номера строки в коде

Есть ли способ на Си отследить номер строк. То есть например вот наш код :

#include <stdio.h>

int func1(int a){
 char z;
}
int func2(int a){
 int x, y, z;
 float x;
 func1(x);
}
int main( ){
 int a, var1;
 func1(a);
 func2(var1);
}

Нам нужно примерно так:

Input function: main
Result:
11: int main( ){
Input function:
func1
Result:
3: int func1(int a){
9: func1(x);
13: func1(a); 

Есть ли какой нибудь способ так сделать на чистом Си?


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

Автор решения: KoVadim

Попробуйте такой вариант. Я сделал специальный макрос IN, который нужно вставлять там, где нужно залогировать номер строки имя функции. В студии следует использовать __FUNCTION__

#include <stdio.h>
#define IN printf("%d:%s\n", __LINE__, __PRETTY_FUNCTION__);

int func1(int a){
 IN
 char z;
}
int func2(int a){
 IN
 int x, y, z;
 //float x;
 func1(x);
}
int main( ){
 IN
 int a, var1;
 func1(a);
 func2(var1);
}
→ Ссылка