I got above error.
What I've done is:
git clone https://github.com/DataChi/memdb
cp -r memdb/pintools ~/pin/source/tools/memdb_pintools
cd ~/pin/source/tools/memdb_pintools
./build
g++ -g test03.cpp
~/pin/pin -t obj-intel64/memtracker.so -- ./a.out 2000
E: Unable to load /home/foo/pin/source/tools/memdb_pintools/obj-intel64/memtracker.so: dlopen failed: cannot locate symbol "_ZTVN10__cxxabiv120__si_class_type_infoE" referenced by "/home/foo/pin/source/tools/memdb_pintools/obj-intel64/memtracker.so"...
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int foo(int i_){
printf("foo: %d\n", i_);
int i = i_;
int n;
volatile char * buffer;
buffer = (volatile char*) malloc (i);
if (buffer==NULL) exit (1);
// Write butter
for (n = 0; n < i; n++)
buffer[n] = (n%10) + '0';
//buffer[i]='\0';
// Read buffer
char c;
for (n = i-1; 0 <= n; n--){
c = buffer[n];
//printf("%c ", c);
}
//printf ("Random string: %s\n",buffer);
free ((void*)buffer);
return 0;
}
int main(int argc, char * argv[]){
int i, n;
i = atoi(argv[1]);
int ret = foo(i);
return 0;
}