mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2026-02-12 16:10:54 +00:00
libsysprof-analyze: allow setting kallsyms file
This commit is contained in:
@ -31,7 +31,9 @@ typedef struct _Augment
|
|||||||
guint32 total;
|
guint32 total;
|
||||||
} Augment;
|
} Augment;
|
||||||
|
|
||||||
|
static char *kallsyms_path;
|
||||||
static const GOptionEntry entries[] = {
|
static const GOptionEntry entries[] = {
|
||||||
|
{ "kallsyms", 'k', 0, G_OPTION_ARG_FILENAME, &kallsyms_path, "The path to kallsyms to use for decoding", "PATH" },
|
||||||
{ 0 }
|
{ 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -129,7 +131,19 @@ main (int argc,
|
|||||||
g_error ("usage: %s CAPTURE_FILE", argv[0]);
|
g_error ("usage: %s CAPTURE_FILE", argv[0]);
|
||||||
|
|
||||||
multi = sysprof_multi_symbolizer_new ();
|
multi = sysprof_multi_symbolizer_new ();
|
||||||
sysprof_multi_symbolizer_take (multi, sysprof_kallsyms_symbolizer_new ());
|
|
||||||
|
if (kallsyms_path)
|
||||||
|
{
|
||||||
|
g_autoptr(GFile) kallsyms_file = g_file_new_for_path (kallsyms_path);
|
||||||
|
GFileInputStream *kallsyms_stream = g_file_read (kallsyms_file, NULL, NULL);
|
||||||
|
|
||||||
|
sysprof_multi_symbolizer_take (multi, sysprof_kallsyms_symbolizer_new_for_symbols (G_INPUT_STREAM (kallsyms_stream)));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sysprof_multi_symbolizer_take (multi, sysprof_kallsyms_symbolizer_new ());
|
||||||
|
}
|
||||||
|
|
||||||
sysprof_multi_symbolizer_take (multi, sysprof_elf_symbolizer_new ());
|
sysprof_multi_symbolizer_take (multi, sysprof_elf_symbolizer_new ());
|
||||||
sysprof_multi_symbolizer_take (multi, sysprof_jitmap_symbolizer_new ());
|
sysprof_multi_symbolizer_take (multi, sysprof_jitmap_symbolizer_new ());
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user