Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

调试、IDE、工具 #10

Open
ShannonChenCHN opened this issue Apr 22, 2017 · 13 comments
Open

调试、IDE、工具 #10

ShannonChenCHN opened this issue Apr 22, 2017 · 13 comments

Comments

@ShannonChenCHN
Copy link
Owner

ShannonChenCHN commented Apr 22, 2017


推荐阅读

@ShannonChenCHN ShannonChenCHN changed the title Reading Is Swift Ready For The Enterprise 【专题】调试、IDE、工具 Jun 24, 2017
@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Jun 24, 2017

延伸阅读:

文章、书籍

工具

视频

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Jun 29, 2017

iOS 开发中的调试

概览

  • Xcode 断点调试
  • LLDB 命令调试
  • View Debugging 可视化调试
  • iPhone 模拟器调试
  • Instruments 工具调试

1. Great tip from Cédric Luthi

设置条件断点,可以查看 view Controller 是否被 dealloc~
dh_nwyhxuaiqbyq

延伸阅读:

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Jun 29, 2017

LLDB 命令

n/next:step over;
s/step:step into;
finish:step out;
c/continue:goto next breakpoint;
expr/expression:Evaluate a C/ObjC/C++ expression(动态执行C/ObjC/C++表达式);
p/print/expr/expression:print as a C/C++ basic variable;
po/expr -O/expression -O:Print as an Objective-C object;

延伸阅读:

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Jul 3, 2017

Xcode 快捷键

1.Xcode导航快捷键

工程导航器: Command + 1
显示/隐藏导航器面板: Command + 0
显示/隐藏实用工具面板: Command + Option + 0
显示/隐藏控制台:Command + Shift + Y
打开Assistant Editor:Option + Command + Enter
关闭Assistant Editor:Command + Enter
在Assistant Editor中打开文件:在项目导航器中选中文件执行Option + Left-click
(注:实际上是可以在preference中自定义option键和double click的操作的)
选择你想要打开该文件的地方:Command + Option + Shift + Left-click
显示/隐藏调试台:Command + shift + Y

2.搜索快捷键

代码关键字搜索:Command+Shift + F 或 Command + 3
文件名或方法名关键字搜索:Command + Shift + O (支持不连关键字搜索,如“mtovp”,可搜到“MTOverseaPerson类”)
.h and .m文件间的快速切换:Control + Command + Up/Down

3.项目工程的编译和清理

运行:Command + R
编译:Command + B
停止运行/编译:Command + .
清理:Command + Shift + K

4.代码定位助手

快速定位当前文件在左侧工程导航器中的位置:Command + Shift + J
Show Related Items:Control + 1(注:可以查看光标所在方法的callers和callees)
查看方法调用层次: 把光标放在方法名处,操作Command + Option + Shift + H

5.代码编辑

左/右 缩进: Command+[ / ]
跳至文档开头/结尾:Command + Up/Down
跳至行首/行末:Command + Left/Right
跳至指定行:Command + L
删除整行:先把光标移到行末,再操作Command + delete
向上/下 移动整行:Option + Command + [ / ]
代码排版:control + I
双击某个分隔符(如()、[]、{} 等),Xcode会选中匹配代码块
显示/关闭 代码Comletion提示功能:esc

@ShannonChenCHN ShannonChenCHN changed the title 【专题】调试、IDE、工具 调试、IDE、工具 Jul 3, 2017
@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Jul 30, 2017

@ShannonChenCHN
Copy link
Owner Author

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Aug 22, 2017

Xcode Snippets

我们自己定义的 Code Snippets 都保存在 ~/Library/Developer/Xcode/UserData/CodeSnippets 目录下。

参考

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Sep 4, 2017

网络调试

  • In-App 抓包调试
  • Mac 抓包软件
    • WireShark
    • Charles
  • 模拟网速
    • Network Link Conditioner (Mac、iOS)

参考:

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Sep 29, 2017

使用 Ruby 修改 Xcode 工程文件

问题:如何实现批量修改 Xcode 中的文件名?
现状:因为本地的文件名是文件本身的名字,在 Xcodeproj 中显示的文件名是 Xcode 自己创建的索引,所以直接通过修改文件名是办不到的。所以只能通过 refactor 一个一个类单独修改。

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Nov 17, 2017

小黄鸭调试法

概念

许多程序员都有过向别人(甚至可能向完全不会编程的人)提问及解释编程问题,就在解释的过程中击中了问题的解决方案。一边阐述代码的意图一边观察它实际上的意图并做调试,这两者之间的任何不协调会变得很明显,并且更容易发现自己的错误。

现实场景

你的朋友跑来问你一个问题,但是当他自己把问题说完,或者说到一半的时候就想出了答案走了,留下一脸茫然的你。是的,这个时候你就起到了那只小黄鸭的作用。

原理

在你试图表述自己的想法的过程中,自然地在促使自己去整理思路,重新考虑问题。


参考:

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Jan 6, 2018

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Apr 15, 2019

DTrace

推荐阅读

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Apr 12, 2022

Mac 空间清理

Mac 上一般最占空间的是:开发软件 Xcode 相关的,微信等缓存大户,音视频缓存文件。

~/Library/Developer/Xcode/DerivedData:项目构建产物
~/Library/Developer/Xcode/Archives:归档项目的存储位置
~/Library/Developer/Xcode/iOS DeviceSupport:连上设备时自动创建的索引文件,通常旧设备没必要保留
~/Library/Developer/CoreSimulator/Devices:不用的模拟器也可以删掉
~/Library/Application Support/MobileSync/Backup:手机备份,不需要的话也可以删掉
~/Library/Caches/CocoaPods/:CocoaPods 缓存

参考

Repository owner deleted a comment from Paulwisley Apr 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant