eclipse调试EPIC


最近一直在研究PERL,完成部分底层工作后,现在开始规划调度界面。

用到了EPIC,想到一个方案,就是基于EPIC来完成后续的开发,但今天思考后还是不用这个方案,所以,有必要把这段作个小结。


不过,分析的过程,其中一个重点,就是分析EPIC如何调用PadWalk,这个方面,虽然还没有找到所有的信息,但了解到了一部分。


1. 首先下载 eclipse-rcp-kepler-SR1-win32.zip

解压后,装好EPIC.这个我就不多说了,我前面有写过。

2. 启动后,Import  : plugins fragments


然后,见图,选择也引入代码:


然后导入:


这里,我就不扯没用的了。

首先,我们的目标是分析EPIC如何调用了用Padwalk,

所以,应当先在所有的地方查下这个关键字:padwalk.


然后下断。


这个我就省略了。

#ifdef __cplusplus
extern "C"
#endif
XS_EXTERNAL(boot_PadWalker); /* prototype to pass -Wmissing-prototypes */
XS_EXTERNAL(boot_PadWalker)
{
    dVAR; dXSARGS;
#if (PERL_REVISION == 5 && PERL_VERSION < 9)
    char* file = __FILE__;
#else
    const char* file = __FILE__;
#endif

    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
#ifdef XS_APIVERSION_BOOTCHECK
    XS_APIVERSION_BOOTCHECK;
#endif
    XS_VERSION_BOOTCHECK;

        newXS("PadWalker::peek_my", XS_PadWalker_peek_my, file);
        newXS("PadWalker::peek_our", XS_PadWalker_peek_our, file);
        newXS("PadWalker::peek_sub", XS_PadWalker_peek_sub, file);
        newXS("PadWalker::set_closed_over", XS_PadWalker_set_closed_over, file);
        newXS("PadWalker::closed_over", XS_PadWalker_closed_over, file);
        newXS("PadWalker::var_name", XS_PadWalker_var_name, file);
        newXS("PadWalker::_upcontext", XS_PadWalker__upcontext, file);
#if (PERL_REVISION == 5 && PERL_VERSION >= 9)
  if (PL_unitcheckav)
       call_list(PL_scopestack_ix, PL_unitcheckav);
#endif
    XSRETURN_YES;
}

明天有时间补上,

现在,马上写如何调试。



先到这。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值