[DynInst_API:] SymtabAPI: Extracting parameter type name for char*


Date: Thu, 26 Jun 2014 20:34:44 -0400
From: Francis Deslauriers <francis.deslauriers@xxxxxxxxxxxx>
Subject: [DynInst_API:] SymtabAPI: Extracting parameter type name for char*
Hi everyone,

I have an issue trying to get the type name of the a function
parameter that is a char *.

I am able to retrieve the type name of the 4 out of 5 of the
parameters in my test.

Here is a dummy program that i try to inspect, followed by the output
on the program trying to enumerate the parameters of the print
function:

#include <stdio.h>

void print(int a, short b, char *c, char d, int *e)
{
    printf("%d, %d, %s, %c, %d\n",a ,b ,c ,d, *e);
}

int main()
{
    int var = 18;
    print(1337, 86, "Hello World", 'c',&var );
    return 0;
}

Output:

int: a : 4
short int: b : 2
: c : 8
char: d : 1
int *: e : 8

You can see that the char * type name is an empty string.

Any clue of where that problem might be coming from?
I am using the v8.2 branch.

I have attached an archive containing the two program source files and
a Makefile triggering this issue.

Thanks


Francis

Attachment: symtab.zip
Description: Zip archive

[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] SymtabAPI: Extracting parameter type name for char*, Francis Deslauriers <=