[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gdb
Subject:    Why can't gdb see global symbols in all scopes
From:       ori bar <tohava () gmail ! com>
Date:       2019-04-10 12:26:34
Message-ID: CAMvNt8G20+4CERD7oYaGRPXedRcg9y-i-LV02svdWL_WJTFLug () mail ! gmail ! com
[Download RAW message or body]

I am debugging a boost program with full symbols (both the program and
boost lib). In boost there is a variable called
boost::fibers::context_initializer::active_. This can be seen by
running

    (gdb) info variables .*context_init.*
    All variables matching regular expression ".*context_init.*":

    File libs/fiber/src/context.cpp:
    boost::fibers::context *boost::fibers::context_initializer::active_;
    std::size_t boost::fibers::context_initializer::counter_;

I can see it from one thread in my program, but can't see it from
another, even though it's global:

    (gdb) thread 1
    [Switching to thread 1 (Thread 0x7ffff7fcd040 (LWP 10470))]
    #0  0x00007ffff6c089f3 in futex_wait_cancelable
(private=<optimized out>, expected=0, futex_word=0x60c000000234) at
../sysdeps/unix/sysv/linux/futex-internal.h:88
    88  in ../sysdeps/unix/sysv/linux/futex-internal.h
    (gdb) p boost::fibers::context_initializer::active_
    No type "fibers" within class or namespace "boost".
    (gdb) thread 3
    [Switching to thread 3 (Thread 0x7ffff3d28700 (LWP 10475))]
    #0  boost::fibers::context::active () at libs/fiber/src/context.cpp:106
    106     thread_local static context_initializer ctx_initializer;
    (gdb) p boost::fibers::context_initializer::active_
    $1 = (boost::fibers::context *) 0x7ffff1869700

This also happens if I just try "pt
boost::fibers::context_initializer" or try "pt
::boost::fibers::context_initializer".

What can be causing this? Shouldn't global variables and types be
visible from all scopes?


-- 
1110101111111110 - it's a way of life
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic