kanje / bosce

boost::statechart extractor
Boost Software License 1.0
26 stars 4 forks source link

there is no event in the output uml file #22

Open HongweiSunny opened 8 months ago

HongweiSunny commented 8 months ago

hello: my objdump file: 000000000003eb9e <JunctionStateWaitToEnter::react(EnterJunctionEvent const&) [clone .cold]>: 000000000003ebd0 <JunctionStateInsideJunction::react(ExitJunctionEvent const&) [clone .cold]>: 0000000000055a50 <boost::statechart::state_machine<JunctionStateManager, JunctionStateWaitToEnter, std::allocator<boost::statechart::none>, boost::statechart::null_exception_translator>::~state_machine()>: 0000000000055d20 <boost::statechart::state_machine<JunctionStateManager, JunctionStateWaitToEnter, std::allocator<boost::statechart::none>, boost::statechart::null_exception_translator>::~state_machine()>: 00000000000ab0a0 <boost::statechart::simple_state<JunctionStateWaitToEnter, JunctionStateManager, boost::mpl::list<mpl_::na>, (boost::statechart::history_mode)0>::outer_state_ptr() const>: 00000000000ab1e0 <boost::statechart::simple_state<JunctionStateWaitToEnter, JunctionStateManager, boost::mpl::list<mpl_::na>, (boost::statechart::history_mode)0>::react_impl(boost::statechart::event_base const&, void const*)>: 00000000000ab350 <boost::statechart::simple_state<JunctionStateWaitToEnter, JunctionStateManager, boost::mpl::list<mpl_::na>, (boost::statechart::history_mode)0>::~simple_state()>: 00000000000ab3c0 <boost::statechart::simple_state<JunctionStateWaitToEnter, JunctionStateManager, boost::mpl::list<mpl_::na>, (boost::statechart::history_mode)0>::~simple_state()>: 00000000000ab430 <boost::statechart::simple_state<JunctionStateWaitToEnter, JunctionStateManager, boost::mpl::list<mpl_::na>, (boost::statechart::history_mode)0>::exit_impl(boost::intrusive_ptr<boost::statechart::detail::leaf_state<std::allocator<boost::statechart::none>, boost::statechart::detail::rtti_policy> >&, boost::intrusive_ptr<boost::statechart::detail::node_state_base<std::allocator<boost::statechart::none>, boost::statechart::detail::rtti_policy> >&, bool)>: 00000000000ab6e0 <boost::statechart::state_machine<JunctionStateManager, JunctionStateWaitToEnter, std::allocator<boost::statechart::none>, boost::statechart::null_exception_translator>::terminate_impl(bool)>: 00000000000abaa0 <boost::statechart::state_machine<JunctionStateManager, JunctionStateWaitToEnter, std::allocator<boost::statechart::none>, boost::statechart::null_exception_translator>::initiate()>: 00000000000abeb0 <boost::statechart::state_machine<JunctionStateManager, JunctionStateWaitToEnter, std::allocator<boost::statechart::none>, boost::statechart::null_exception_translator>::process_event(boost::statechart::event_base const&)>: 00000000000ac5a0 <JunctionStateWaitToEnter::react(EnterJunctionEvent const&)>: 00000000000aca60 <JunctionStateInsideJunction::react(ExitJunctionEvent const&)>: 00000000000acd10 <boost::statechart::simple_state<JunctionStateInsideJunction, JunctionStateManager, boost::mpl::list<mpl_::na>, (boost::statechart::history_mode)0>::outer_state_ptr() const>: 00000000000acd20 <boost::statechart::simple_state<JunctionStateDrivedOut, JunctionStateManager, boost::mpl::list<mpl_::na>, (boost::statechart::history_mode)0>::outer_state_ptr() const>: 00000000000acd30 <boost::statechart::simple_state<JunctionStateDrivedOut, JunctionStateManager, boost::mpl::list<mpl_::na>, (boost::statechart::history_mode)0>::react_impl(boost::statechart::event_base const&, void const*)>: 00000000000acd40 <boost::statechart::simple_state<JunctionStateInsideJunction, JunctionStateManager, boost::mpl::list<mpl_::na>, (boost::statechart::history_mode)0>::~simple_state()>: 00000000000ace20 <boost::statechart::simple_state<JunctionStateDrivedOut, JunctionStateManager, boost::mpl::list<mpl_::na>, (boost::statechart::history_mode)0>::~simple_state()>: 00000000000acf00 <boost::statechart::simple_state<JunctionStateInsideJunction, JunctionStateManager, boost::mpl::list<mpl_::na>, (boost::statechart::history_mode)0>::~simple_state()>: 00000000000acf70 <boost::statechart::simple_state<JunctionStateDrivedOut, JunctionStateManager, boost::mpl::list<mpl_::na>, (boost::statechart::history_mode)0>::~simple_state()>: 00000000000ad0c0 <boost::statechart::simple_state<JunctionStateDrivedOut, JunctionStateManager, boost::mpl::list<mpl_::na>, (boost::statechart::history_mode)0>::exit_impl(boost::intrusive_ptr<boost::statechart::detail::leaf_state<std::allocator<boost::statechart::none>, boost::statechart::detail::rtti_policy> >&, boost::intrusive_ptr<boost::statechart::detail::node_state_base<std::allocator<boost::statechart::none>, boost::statechart::detail::rtti_policy> >&, bool)>: 00000000000ad1e0 <boost::statechart::simple_state<JunctionStateInsideJunction, JunctionStateManager, boost::mpl::list<mpl_::na>, (boost::statechart::history_mode)0>::exit_impl(boost::intrusive_ptr<boost::statechart::detail::leaf_state<std::allocator<boost::statechart::none>, boost::statechart::detail::rtti_policy> >&, boost::intrusive_ptr<boost::statechart::detail::node_state_base<std::allocator<boost::statechart::none>, boost::statechart::detail::rtti_policy> >&, bool)>: 00000000000ad300 <boost::statechart::simple_state<JunctionStateInsideJunction, JunctionStateManager, boost::mpl::list<mpl_::na>, (boost::statechart::history_mode)0>::react_impl(boost::statechart::event_base const&, void const*)>:

but the output png has no event. could u please help me to check it? Thx

kanje commented 7 months ago

Hey! This snippet contains two custom event handlers:

00000000000ac5a0 <JunctionStateWaitToEnter::react(EnterJunctionEvent const&)>:
00000000000aca60 <JunctionStateInsideJunction::react(ExitJunctionEvent const&)>:

We know the state machine reacts to these events, but we do not know what it does exactly. There is no assembly code for these functions.

If these are two events you expect to see, then we need to find out why there is no assembly output. How did you build the binary and how did you generate the objdump file? If possible, could you please attach the source files?

kanje commented 7 months ago

@HongweiSunny, could you please check my message above?