added "info fibers" command
Summary: Re-implementation of fiber gdb integration. All previous functionality still works as well. Commands: * `fiber`: switch to fiber by address, alias, or assigned short id * `fiber apply`: run arbitrary gdb commands for each specified fiber (or "all") * `fiber deactivate`: switch back to normal thread behavior * `fiber name`: assign or clear an alias to a particular fiber * `info fibers`: print out each fiber manager and fiber, with ids and current frame info Parameters: * `fiber info-frame-skip-words`: the "uninteresting" function matches to skip frames of when showing fiber info * `fiber manager-print-limit`: limit of the number of fibers displayed when printing a fiber manager Fibers are assigned ids of the form "<MANAGER_ID>.<FIBER_ID>". When specifying fibers for `info fibers` or `fiber apply`, you can specify any number of space-separated fiber ids, and additionally you can specify a manager id by itself to refer to all fibers in that manager. When printing info with `info fibers`, every stopped fiber will be in `folly::fibers::FiberImpl::deactivate()`, which isn't particularly useful. To give more-useful information, it will skip past all frames whose function names include the strings "folly::fibers" or "wait" and print the first non-matching frame's information instead. The `fiber info-frame-skip-words` parameter defines the strings to match on, specified as a space-separated list of words. Due to gdb limitations, the selecting a fiber "masks" the currently selected thread, and to see the current thread again you will need to run `fiber deactivate`, same as before. Reviewed By: andriigrynenko Differential Revision: D18342802 fbshipit-source-id: 5b2204bb09eca4c8f977c6c17b0348e39465dff6
Showing
This diff is collapsed.
Please register or sign in to comment