This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Some questions about using gdb catch syscall function


I believe so.
I've never actually tried it without libexpat, but I'd be surprised if
it didn't work.

On Mon, Dec 8, 2014 at 7:18 PM, Nan Xiao <xiaonan19830818@qq.com> wrote:
> Hi Doug,
>
>     Thanks very much for your detailed and kindly explanations!
>
>     Per my understanding, if no "libexpat", "catch syscall" and "catch syscall number" still work normally, except some warnings. Right?
>
> Best Regards
> Nan Xiao
> ------------------ Original ------------------
> From:  "Doug Evans";<dje@google.com>;
> Date:  Tue, Dec 9, 2014 10:53 AM
> To:  "Nan Xiao"<xiaonan19830818@qq.com>;
> Cc:  "gdb"<gdb@sourceware.org>;
> Subject:  Re: Some questions about using gdb catch syscall function
>
> On Mon, Dec 8, 2014 at 6:16 PM, Nan Xiao <xiaonan19830818@qq.com> wrote:
>> Hi all,
>>
>> I am using gdb's catch syscall function(https://sourceware.org/gdb/onlinedocs/gdb/Set-Catchpoints.html#index-catch-syscall), and meets some issues. The procedure of running gdb is like this:
>>
>> (gdb) catch syscall
>> warning: Can not parse XML syscalls information; XML support was disabled at compile time.
>> Catchpoint 1 (any syscall)
>> (gdb) catch syscall 1
>> Catchpoint 2 (syscall 1)
>> (gdb) catch syscall read
>> Unknown syscall name 'read'.
>>
>> My questions are:
>> (1) gdb prints "warning: Can not parse XML syscalls information; XML support was disabled at compile time.". Does it affect the normal use of catch function? It seems the gdb can set catchpoint normally.
>
> You need to build gdb with "libexpat".
> Check that you have it installed (I'm assuming not) and rebuild gdb.
> If you have libexpat installed in a non-standard place, there are
> options to gdb/configure to tell the build system where to find
> libexpat.
>
> bash$ gdb/configure --help   # and grep for expat
>
>>
>> (2) I can use "catch syscall number" correctly, why can't use "catch syscall name"?
>
> gdb uses libexpat to parse the xml descriptions of the syscalls, which
> is how it knows their names.
> No libexpat -> no ability to recognize syscall names.
>
>>
>> P.S., my gdb is 7.8.1 and runs on Linux X86.
>>
>> Could anyone give any comments about this issue? Thanks very much in advance!
>>
>> Best Regards
>> Nan Xiao


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]