跟踪asio日志
#define BOOST_ASIO_ENABLE_HANDLER_TRACKING
#include
./a.out 2>out.log
sudo apt-get install graphviz
perl handlerviz.pl < out.log | dot -Tpng > out.png
创新互联专注于田东网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供田东营销型网站建设,田东网站制作、田东网页设计、田东网站官网定制、小程序开发服务,打造田东网络公司原创品牌,更为您提供田东网站排名全网营销落地服务。
@asio|1528964168.087468|01|signal_set@0x7ffc87552888.async_wait
@asio|1528964168.087629|02|signal_set@0x7ffc87552888.async_wait@asio|1528964181.199519|>1|ec=system:0,signal_number=10
br/>@asio|1528964181.199519|>1|ec=system:0,signal_number=10
2|ec=system:0,signal_number=10
br/>@asio|1528964181.199628|>2|ec=system:0,signal_number=10
@asio|1528964181.199717|0|signal_set@0x7ffc87552888.cancel
out.log格式解释,请参考 https://www.boost.org/doc/libs/1_47_0/doc/html/boost_asio/overview/core/handler_tracking.html
摘抄过来:
Each line is of the form:
The
The
The
n
The program entered the handler number n. The shows the arguments to the handler.
The program left handler number n.
!n
The program left handler number n due to an exception.
~n
The handler number n was destroyed without having been invoked. This is usually the case for any unfinished asynchronous operations when the io_service is destroyed.
n*m
The handler number n created a new asynchronous operation with completion handler number m. The shows what asynchronous operation was started.
n
The handler number n performed some other operation. The shows what function was called. Currently only close() and cancel() operations are logged, as these may affect the state of pending asynchronous operations.
Where the
As shown above, Each handler is assigned a numeric identifier. Where the handler tracking output shows a handler number of 0, it means that the action was performed outside of any handler.
Copyright © 2009-2022 www.kswsj.com 成都快上网科技有限公司 版权所有 蜀ICP备19037934号