Re: [Vala] How to use vala Linux.backtrace?
- From: Andrea Del Signore <sejerpz gmail com>
- To: Christian Johnson <_c_ mail com>
- Cc: "vala-list gnome org" <vala-list gnome org>
- Subject: Re: [Vala] How to use vala Linux.backtrace?
- Date: Thu, 28 Nov 2013 11:44:47 +0100
Hello,
the main problem with your code is the declaration of the array which
should be an array of void pointers:
void*[] array = new void*[10];
Here a snippet that works, but the are some other problems with the
bindings:
1) The length of strings can't be known by vala and foreach wouldn't work
2) The strings is not freed because is declared as unowned.
private static void print_backtrace () {
void*[] array = new void*[10];
int size = Linux.backtrace (array, 10);
string[] strings = Linux.backtrace_symbols (array, size);
for(int i=0; i< size; i++) {
print ("(%d): %s\n", i, strings[i]);
}
/* this can't work because the array length in unknown by vala
foreach (string trace in strings) {
stdout.printf("%s\n", trace);
}*/
}
HTH,
Andrea
On Wed, Nov 27, 2013 at 11:27 PM, Christian Johnson <_c_ mail com> wrote:
Hey!
I'm trying to print out stacktrace, Linux.backtrace and
Linux.backtrace_symbols look like they would work but them being part of
libc I can't seam to discover how to use them from vala. The GNU manual has
this example:
void *array[10];
size_t size;
char **strings;
size_t i;
size = backtrace (array, 10);
strings = backtrace_symbols (array, size);
printf ("Obtained %zd stack frames.\n", size);
for (i = 0; i < size; i++)
printf ("%s\n", strings[i]);
free (strings);
So trying to convert this to vala:
void[] array = new void[10];
int size = Linux.backtrace (&array, 10);
string[] strings = Linux.backtrace_symbols (array, size);
foreach (string trace in strings) {
stdout.printf("%s\n", trace);
}
This produces the fallow error:
*** Error in `valac': munmap_chunk(): invalid pointer: 0xb76d1069 ***
So...What am I doing wrong?
_______________________________________________
vala-list mailing list
vala-list gnome org
https://mail.gnome.org/mailman/listinfo/vala-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]