当前位置: 首页 > news >正文

网站建设运营法律风险防范网上电商平台

网站建设运营法律风险防范,网上电商平台,网站中如何做图片轮播,红盾网官网入口一、类介绍 在使用Python 自定义LLDB之前,先了解一下LLDB的一些类型 SBTarget 正在被调试的程序SBProcess 和程序关联的具体的进程SBThread 执行的线程SBFrame 和线程关联的一个栈帧SBVariable 变量,寄存器或是一个表达式 一般情况下,我们…

一、类介绍

在使用Python 自定义LLDB之前,先了解一下LLDB的一些类型

  • SBTarget 正在被调试的程序
  • SBProcess 和程序关联的具体的进程
  • SBThread 执行的线程
  • SBFrame 和线程关联的一个栈帧
  • SBVariable 变量,寄存器或是一个表达式

一般情况下,我们取到SBFrame就可以进行方法调用来打印关键信息

二、断点调试示例

在写Python前,先使用Xcode断点执行一下

自定义类MyClass
.h文件

@interface MyClass : NSObject+ (NSString *)lldbTest;@end

.m文件

@implementation MyClass+ (NSString *)lldbTest {return @"lldb test successed";
}@end

中断程序

打开lldb控制台

下面就开始写lldb的命令
预期目标,打印出[MyClass lldbTest]的返回值

输入script

(lldb) script
Python Interactive Interpreter. To exit, type 'quit()', 'exit()'.
>>> 

定义变量test接收MyClass lldbTest]的返回值

>>> test = lldb.frame.EvaluateExpression('(NSString *)[MyClass lldbTest]').GetObjectDescription()

打印变量test

>>> print(test)

至此,直接在Xcode中使用lldb打印出[MyClass lldbTest]的返回值就完成了

三、编写Python

如果想把这个功能打包起来,使用一句命令调用,就需要使用Python来扩展我们的lldb命令

1、新建Python文件

这里将Python文件命名问lldbtest.py

1、引入lldb头文件
import lldb
2、初始化函数
def __lldb_init_module(debugger, internal_dict):debugger.HandleCommand()

在HandleCommand中添加命令:

'command script add lldb_test -f lldbtest.test'

lldb_test表示命令名称,lldbtest是Python文件名,test是自定义方法名

初始化函数最终

def __lldb_init_module(debugger, internal_dict):debugger.HandleCommand('command script add lldb_test -f lldbtest.test')
3、自定义Python方法

获取当前的frame栈帧

  target = debugger.GetSelectedTarget()process = target.GetProcess()thread = process.GetSelectedThread()currentFrame = thread.GetSelectedFrame()

调用方法

def test(debugger, command, result, internal_dict):target = debugger.GetSelectedTarget()process = target.GetProcess()thread = process.GetSelectedThread()currentFrame = thread.GetSelectedFrame()test = currentFrame.EvaluateExpression('(NSString *)[Person lldbTest]').GetObjectDescription()print("result:%s" % test)

整个Python文件

#自定义lldb命令 
import lldbdef test(debugger, command, result, internal_dict):target = debugger.GetSelectedTarget()process = target.GetProcess()thread = process.GetSelectedThread()currentFrame = thread.GetSelectedFrame()test = currentFrame.EvaluateExpression('(NSString *)[Person lldbTest]').GetObjectDescription()print("result:%s" % test)def __lldb_init_module(debugger, internal_dict):debugger.HandleCommand('command script add lldb_test -f lldbtest.test')

四、自动加载python脚本

原理:xcode启动的时候会读取一个默认文件:~/.lldbinit
只需要将命令command script import /Users/xx/Desktop/lldbtest.py 写入这个文件即可。
/Users/xx/Desktop/lldbtest.py是Python文件路径

测试:

http://www.yayakq.cn/news/275256/

相关文章:

  • 滨州做网站网页模板下载html格式
  • 个人网站怎么建设规划和建设郑州哪里有做平台网站的
  • 做设计_素材网站有哪东莞建网站公司平台
  • 黄石做企业网站免费做app的网站
  • 如何用WordPress建小说站wordpress侧边栏加视频板块
  • 做网页网站 的公司小企业网站建设哪家便宜
  • 江苏中兴建设有限公司网站专业网站制作公司教程
  • 设备上哪个网站做外贸推广网站建设如何开票
  • 校园网站建设的意见规划设计咨询公司
  • 自建网站平台的页面功能洛阳已经开始群体感染了
  • 学校网站建设哪家好网页设计与制作 教学效果
  • 在线做海报网站wordpress条件筛选
  • 做外贸soho网站的公司吗wordpress中文主题团队
  • 公司网上注册在哪个网站网站建设研究方法
  • 苏州建设造价信息网站wordpress环境搭建
  • 族谱网站建设方案南邮通达网页设计报告
  • 政务网站建设管理工作总结wordpress删去RSS
  • 模板手机网站建设多少钱wordpress网站加速
  • 五合一营销型网站国内视差网站
  • 个人网站空间怎么做扫码点餐微信小程序怎么样开通
  • 镇江网站网站建设上海企业网站建设公司名
  • 德阳市建设局官方网站安全月住房和城乡建设部网站城市稽查
  • 网站怎么做才会有收录昆明网站建设公司猫咪科技
  • 简述jsp网站开发的环境配置网站配色方案 对比色
  • 手机访问asp网站godaddy 网站上传
  • 可以做网站的电脑软件24小时免费更新在线视频
  • 网站建设和app制作免费h5页面应用制作
  • 做公益网站怎么赚钱网店营销网站
  • 海南省建设信息官方网站阳东网站seo
  • 哪个网站做汽车保养比较好自己如何制作一个小程序