可以在 android DDMS LOG 上搜索吗?

发布于 2024-12-01 09:14:19 字数 98 浏览 0 评论 0原文

任何使用类似于 (CTRL + F) 的简单方法在 DDMS 日志中进行搜索的方法。 我知道按 LOG_TAG 进行过滤以及在文本文档中复制粘贴以执行 CTRL+F 的其他简单方法。

Any way to search within DDMS Log using some simple way more similar to (CTRL + F).
I know of filtering by LOG_TAG as well other simple way to copy-paste in a text document to do CTRL+F.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

风筝在阴天搁浅。 2024-12-08 09:14:19

如果您谈论的是Eclipse,则没有这样的搜索工具。

这是我探索日志的方法。

adb shell 输出重定向到日志文件。

adb logcat > device.log

然后使用 vim 浏览日志文件。唯一的问题是 vim 不会在更改时自动重新加载文件。因此,我改编了 vim 过滤脚本 在每次搜索时重新加载文件,只需添加 edit!执行搜索之前的 行(第 8 行)。

" Gather search hits, and display in a new scratch buffer.
function! Gather(pattern)
  if !empty(a:pattern)
    let save_cursor = getpos(".")
    let orig_ft = &ft
    " append search hits to results list
    let results = []
    edit!
    execute "g/" . a:pattern . "/call add(results, getline('.'))"
    call setpos('.', save_cursor)
    if !empty(results)
      " put list in new scratch buffer
      new
      setlocal buftype=nofile bufhidden=hide noswapfile
      execute "setlocal filetype=".orig_ft
      call append(1, results)
      1d  " delete initial blank line
    endif
  endif
endfunction

" Delete the current buffer if it is a scratch buffer (any changes are lost).
function! CloseScratch()
  if &buftype == "nofile" && &bufhidden == "hide" && !&swapfile
    " this is a scratch buffer
    bdelete
    return 1
  endif
  return 0
endfunction

nnoremap <silent> <Leader>f :call Gather(input("Search for: "))<CR>
nnoremap <silent> <Leader>F :call Gather(@/)<CR>
nnoremap <silent> <Esc> :call CloseScratch()<CR>

现在,当使用 \F 的 \f 进行搜索时,缓冲区会自动重新加载。检查脚本的 vikia 页面 了解更多信息。

If you are talking about Eclipse there isn't such search tool.

Here is my way to explore logs.

Rredircting adb shell output to the logfile.

adb logcat > device.log

Then explore logfile with vim. The only problem is that vim doesn't automatically reload file on change. So I adapted vim filtering script to reload file on every search, just adding edit! line before search performing (line 8).

" Gather search hits, and display in a new scratch buffer.
function! Gather(pattern)
  if !empty(a:pattern)
    let save_cursor = getpos(".")
    let orig_ft = &ft
    " append search hits to results list
    let results = []
    edit!
    execute "g/" . a:pattern . "/call add(results, getline('.'))"
    call setpos('.', save_cursor)
    if !empty(results)
      " put list in new scratch buffer
      new
      setlocal buftype=nofile bufhidden=hide noswapfile
      execute "setlocal filetype=".orig_ft
      call append(1, results)
      1d  " delete initial blank line
    endif
  endif
endfunction

" Delete the current buffer if it is a scratch buffer (any changes are lost).
function! CloseScratch()
  if &buftype == "nofile" && &bufhidden == "hide" && !&swapfile
    " this is a scratch buffer
    bdelete
    return 1
  endif
  return 0
endfunction

nnoremap <silent> <Leader>f :call Gather(input("Search for: "))<CR>
nnoremap <silent> <Leader>F :call Gather(@/)<CR>
nnoremap <silent> <Esc> :call CloseScratch()<CR>

Now when using \f of \F for search, buffer is automatically reloading. Check script's vikia page for more information.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文