vim调试android项目脚本完成

本文介绍了一种在Vim编辑器中为Android项目设置断点并进行调试的方法,解决了作者长期以来的问题。通过编写Vim脚本和Shell脚本来实现与jdb的结合,虽然目前尚不支持debug内部类,但已能解决大部分调试需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个我绝对hold不住了,之前一直想在vim里面为android项目打断点。不过最后只能做到输出用于打断点的命令,而无法和jdb结合起来运行。不过昨天无聊去stackoverflow上问了一下之后,居然找到了解决办法。这个世界太美好了!

现在的缺陷是无法debug inner class,等什么时候蛋疼了再写个正则匹配下内部类。不过现在这种程度应该能解决很多问题了。

下面上渣代码,请尽情喷。

vim script:

function! DebugContacts()
    let ori_str = expand("%:r")
    let start_index = matchend(ori_str, "src\.")
    let debug_path = strpart(ori_str, start_index, strlen(ori_str))
    let debug_path = substitute(debug_path, "/", ".", "g")

    let debug_path .= ":".line(".")
    echo expand(debug_path)
    exec "!echo stop at ".debug_path
    exec "!{ echo "." stop at \"".debug_path."\"; cat; } | debug_contacts"
endf

noremap <leader>dd :call DebugContacts()<cr>

debug_contacts是写在shell脚本里面的

 

function debug_contacts() 
{
    local pid=$(adb shell ps | grep android.process.acore | awk '{print $1}')
    adb forward tcp:7777 jdwp:$pid
    jdb -attach 7777 -sourcepath $CONTACTS/src
}

大概是这样子了,我先爽去了。


 

 

转载于:https://my.oschina.net/u/236164/blog/57544

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值