学习
实践
活动
专区
工具
TVP
写文章

01.Android崩溃Crash封装库

手机上显示闪退崩溃信息,并且崩溃详情信息可以保存,分享给开发 主要是测试同学测试中发现了崩溃,然后跑过去跟开发说,由于不容易复现导致开发童鞋不承认……有时候用的bug统计不是那么准! 能够收集崩溃中的日志写入文件,记录包括设备信息,进程信息,崩溃信息(Java崩溃、Native崩溃 or ANR),以及崩溃时内存信息到file文件中。 某些机型还是不兼容…… App崩溃收集信息说明 收集崩溃时的基本信息 进程(前台进程还是后台进程) 线程(是否是 UI 线程) 崩溃堆栈(具体崩溃系统的代码,还是我们自己的代码里面) 崩溃堆栈类型(Java 关于上传日志介绍 设置该异常初始化后,进入全局异常时系统就提示尽快收集信息,进程将被结束,因此不可以在此时做网络上传崩溃信息。可以在此时将错误日志写入到file文件或者sp中。 比如:通过SharedPreferences将错误日志的路径写入配置文件中,启动的时候先检测该配置文件是否有错误日志信息,如果有则读取文件,然后实现日志上传。

50130
  • 广告
    关闭

    上云精选

    2核2G云服务器 每月9.33元起,个人开发者专属3年机 低至2.3折

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux运维工程师面试-部分题库(答案版)

    命令及文件操作 1./tmp/目录下创建test.txt文件,内容为: Hello,World! 答: apache有两种工作模式,一种为prefork模式,另一种为 work模式 prefork:一个进程仅有一个线程接待一个访问请求,稳定性高,一个进程崩溃后不影响其它进程,但是占用内存较多,对硬件要求高 work:一个进程具有多个线程,并分别响应访问请求,占用内存小,但是一个进程崩溃会影响其它请求 查看支持模块:httpd -l 查看工作模式:httpd -V 2.Linux下nfs客户端无法挂载,请写出排查步骤 答: Apache有两种工作模式,一种为 prefork 模式,另一种为 work 模式 prefork:一个进程仅有一个线程接待一个访问请求,稳定性高,一个进程崩溃后不影响其它进程,但是占用内存较多, work:一个进程具有多个线程,并分别响应访问请求,占用内存小,但是一个进程崩溃会影响其它请求 8.MySQL服务器的用途是?Apache和mysql可以安装在一台机器吗?

    1.5K20

    记一次服务器被入侵的调查取证

    因为系统上线前都会经过web渗透测试文件上传,SQL注入等常规漏洞已经修复,虽然这样,小Z还是重新验证了一遍漏洞,没有问题,又用D盾webshell检测工具进行了扫面,未发现任何webshell。 在对wcmoye有了一定认识之后,小Z想它是从哪里来的,这时,小Z之前搭建的日志分析系统派上了用场。 0×4 日志排查 这个问题得从wcmoye.exe系统中产生的第一时间着手调查。 Linux平台的脚本:关闭防火墙,下载一个叫tatada的ELF文件,把netstat等系统命令改名,清空日志等等 ? ? Result.txt文件,记录着一些扫描到的ip的端口开放情况 ? Windows.txt和linux.txt里面貌似都是存在漏洞的网址。。。 而且其中有一个关键的发现,就是小Z所在公司的网站接口居然一个叫http.txt的list里面 ? 通过对比实验分析,发现在漏洞利用工具测试80端口时,如果网站做了80转443端口的强制跳转,浏览器得到302重定向后就开始向443端口开始3次握手,而测试软件的数据包处理过程就有问题,这时候直接测试

    2K10

    1-Electron基础

    nodejs环境:npm init 创建Electron环境,全局安装:npm install -g electron 检测Electron是否安装成功,electron -v查看Electron版本号 测试界面 <body>

    Hello World

    </body> main.js主进程控制文件 var electron =require('electron') var app ,主进程的控制文件由Node.JS配置文件package.json中的main属性声明,一般为main.js或index.js,创建或销毁窗口等所有系统事件,都需要定义进程的控制文件中,统一由主进程管理 每个渲染进程都是独立的,任意一个渲染进程报错或崩溃都不会影响其他渲染进程运行 主进程和渲染进程的区别 主进程通过BrowserWindow创建页面 每个BrowserWindow实例都在自己的渲染进程中运行 测试页面 <body> <Button id="btn">点击查看文件内容</Button>
    </body> 最终展示效果

    12820

    我们如何应对Python桌面应用程序的崩溃

    2016年,随着逐步的过渡到Python 3,我们开始着手改进我们检测和报告崩溃的方式。目前,对于我们的桌面团队来说,我们的崩溃报告流程无论报告的数量还是质量上都是非常可靠的。 结果就是,一个崩溃报告的堆栈轨迹中会包含Python,C ++,Objective-C和C多种代码! 早期的做法 几年前,我们使用简单的进程崩溃检测机制:信号处理程序。 1 Crashpad大显神通 通过进程外部提取报告器可以构建更可靠的崩溃报告机制。这很容易实现,因为Windows和MacOS都提供了系统工具来捕获进程外的崩溃。 应用程序通过实例化一个进程内对象(称为“客户端”)来使用Crashpad,当检测崩溃时,该对象报告给进程外的帮助程序—称为“处理程序”。 Python 和线程本地存储 首先, 我们需要知道去哪里找它们。CPython中,解释器线程始终由本机线程支持。

    39510

    Kali Linux Web 渗透测试秘籍 第五章 自动化扫描

    这里我们可以配置我们的扫描器的Scope(从哪里开始扫描、什么上下文中,以及其它)、Input Vectors(选项是否你打算测试 GET 和 POST 请求、协议头、Cookie和其它选项)、Custom 被动扫描是 OWASP ZAP 我们浏览过、发送数据和点击链接程中进行的非入侵测试。主动测试涉及对每个表单变量或请求值使用多种攻击字符串,以便检测服务器的响应是否带有我们叫做“脆弱行为”的东西。 OWASP ZAP 使用多种技术生成测试字串,它对于首次识别目标所使用的技术非常实用,以便优化我们的扫描并减少被检测到或导致服务崩溃的可能。 现在在Target文本框中,输入打算测试的 URL,这里是http://192.168.56.102/WackoPicko/,并点击Start。 日志标签页会获得焦点,我们能够看到扫描的进程崩溃以及不能完成扫描的情况下,它的命令行界面可以提供相同的功能。

    12810

    Android O 中的 seccomp 过滤器

    Android 的设备中,强制执行 Android 安全模式的重任交由内核承担。由于安全团队已努力加强 Android 的用户空间,并隔离和削弱进程的权限。因此内核已成为更多安全攻击的焦点。 内核提供许多基于设备和 SOC 的系统调用,让用户空间的进程(包括应用程序)直接与内核交互。所有应用都依赖此机制,通过唯一的系统调用来检索访问对应的行为,例如打开文件或发送一条 binder 消息。 seccomp 过滤器允许: 所有定义 bionic (Android 的 C 运行时)内的系统调用。它们定义 bionic/libc/SYSCALLS.TXT 内。 开发者 在运行了 Android O 的设备上测试您的应用是否使用了非法的系统调用。 检测非法的系统调用 Android O 中,系统将使调用非法系统调用的应用崩溃测试时切换 seccomp 过滤器 除了记录错误,seccomp 安装程序在运行 userdebug 和 eng builds 的设备上遵从 setenforce,这将允许您测试 seccomp 是否引发了某个问题

    1.4K30

    07-STM32+ESP8266+AIR202远程升级方案-功能2-STM32+Air202(GPRS)实现利用http远程更新STM32程序(定时访问升级,备份升级)

    程序是每隔10S发送get指令获取 info.txt文件 二,只下载BootLoader的情况下测试 1.如果客户不能按照上面的方式下载用户程序 BootLoader程序里面也是可以测试升级 实际上该功能是为了预防程序彻底崩溃而做 user_crc.bin文件user.bin的基础上增加了CRC校验位 ? 7.把生成的user_crc.bin文件拷贝到服务器 ? 8.还差一个info.txt文件 1.我准备了一个模板 ? 9.把info.txt文件也拷贝到服务器 ? 10.然后按照一开始的测试步骤测试即可 注意:如果用户是自行下载进去当前的用户程序以后测试, 记得修改下版本,让本地版本和服务器上面的版本不一样. 为了便于客户移植使用,程序整体封装成了包,后面会有相应的移植教程,供用户参考移植 2.检测是否进入崩溃处理 ? 3.更新的所有初始化和崩溃处理都在这个里面 ? 11,程序里面有下载超时和整体运行超时检测 下载超时:只有确认开始写入程序文件的时候才运行,每次写入程序文件会清零.

    30920

    如何用神经网络“寻找威利”

    大致分为以下几步: 将图片打标签后创建数据集,其中标签注明了威利图片中的位置,用x,y表示; 用TensorFlow物体检测API获取并配置神经网络模型; 在数据集上训练模型; 用导出的图像测试模型; 最简单的机器学习问题最终得到的通常是一个标量(如数字检测器)或是一个分类字符串。TensorFlow物体检测API训练数据是则将上述两个结果结合了起来。 最后需要配置的文件是labels.txt映射文件,其中包含我们所有不同对象的标签。 脚本将在一定时间后自动存储checkpoint文件,万一计算机半路崩溃,你还可以恢复这些文件。也就是说,当你想完成模型的训练时,随时都可以终止脚本。 但是什么时候停止学习呢? 测试 现在,我们可以将模型用于实际测试啦。

    68660

    04-STM32+W5500+AIR202远程升级方案-功能1-STM32+W5500实现利用http远程更新STM32程序(定时访问升级,备份升级)

    11,我放到云端的程序就是当前的用户程序,只不过版本设置的不一样 也是每隔10S发送get指令获取info.txt文件,检测一下版本 ? 二,只下载BootLoader的情况下测试 1.如果客户不能按照上面的方式下载用户程序 BootLoader程序里面也是可以测试升级 实际上该功能是为了预防程序彻底崩溃而做! 9.把info.txt文件也拷贝到服务器 ? 10.然后按照一开始的测试步骤测试即可 注意:如果用户是自行下载进去当前的用户程序以后测试, 记得修改下版本,让本地版本和服务器上面的版本不一样. 为了便于客户移植使用,程序整体封装成了包,后面会有相应的移植教程,供用户参考移植 2.检测是否进入崩溃处理 ? 3.更新的所有初始化和崩溃处理都在这个里面 ? 11,程序里面有下载超时和整体运行超时检测 下载超时:只有确认开始写入程序文件的时候才运行,每次写入程序文件会清零.

    1.1K30

    04-STM32+ESP8266+AIR202远程升级篇-功能1-STM32自动访问升级,基于ESP8266(TCP,HTTP)(备份升级)

    2.设置下载的程序文件的地址(可以先默认使用该地址测试) ? 当前程序文件本人服务器的放置路径如下(后面会说明怎么生成user_crc.bin文件) ? 2.修改获取云端固件信息文件的地址(可以先默认使用该地址测试) ? 云端固件信息文件本人服务器的放置路径如下(后面有说明怎么生成info.txt文件) ? 3.打开用户程序,修改info.txt文件获取的地址 可以和上面的程序地址设置一样,也可以不一样,info.txt里面有版本号,程序下载路径,具体下面有介绍 型号和服务器上保持一样 提升一个版本号,便于升级测试 为了便于客户移植使用,程序整体封装成了包,后面会有相应的移植教程,供用户参考移植 2.检测是否进入崩溃处理 ? 3.更新状态处理都是在这个函数里面处理 ? 4.如果有更新标志 ,备份程序 ? ? 11,程序里面有下载超时和整体运行超时检测 下载超时:只有确认开始写入程序文件的时候才运行,每次写入程序文件会清零.

    45220

    应用稳定性优化系列(一),ANR问题全面解析

    1、ANR问题原因分析 华为终端开放实验室技术专家结合丰富的开发、测试、故障分析经验,对ANR问题产生原因、现象、故障检测做了提炼与归纳,方便开发者更好了解ANR相关内容。 2、ANR问题定位方法 1)打开system_app_anr@XXXX文件,查看ANR发生进程进程号、主线程状态,是不是有明显的死锁或者明显binder调用阻塞; 2)如果是死锁,看业务代码即可; 3 )如果是binder阻塞,查看binder调用链信息,查找对端进程及其对端进程调用stack,找到阻塞函数,如果system_app_anr@XXXX被截断,可以查看traces.txt文件; 4)如果是 binder transcation表中可以看到,systemserver进程的16个Binder线程,全部被阻塞在给hwfacerecognize发送消息。 Android中一个进程最多会使用16个binder线程,systemserver的全部Binder线程都被阻塞,故不能再分配Binder线程处理其他的Binder消息,导致其他进程给systemserver

    1K20

    05-STM32+ESP8266+AIR202远程升级篇-功能2-STM32自动访问升级,基于air202(TCP,HTTP)(备份升级)

    2.设置下载的程序文件的地址(可以先默认使用该地址测试) ? 当前程序文件本人服务器的放置路径如下(后面会说明怎么生成user_crc.bin文件) ? 2.修改获取云端固件信息文件的地址(可以先默认使用该地址测试) ? 云端固件信息文件本人服务器的放置路径如下(后面有说明怎么生成info.txt文件) ? 7.把info.txt 和 user_crc.bin 放到云端服务器 ? 8.然后按照一开始的测试步骤测试即可 注意:如果客户事先下载用户程序然后测试,需要保证和云端写的版本不一致! 为了便于客户移植使用,程序整体封装成了包,后面会有相应的移植教程,供用户参考移植 2.检测是否进入崩溃处理 ? 3.更新状态处理都是在这个函数里面处理 ? 4.如果有更新标志 ,备份程序 ? 11,程序里面有下载超时和整体运行超时检测 下载超时:只有确认开始写入程序文件的时候才运行,每次写入程序文件会清零.

    37240

    Monkey稳定性测试初探(二)

    02 Money是什么 Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行测试检测程序多久的时间会发生异常 程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本Android文件系统中的存放路径是:/system/bin/monkey Monkey 命令启动方式: 可以通过PC机CMD --hprof:指定该项后事件序列发送前后会立即生成分析报告 --ignore-crashes:忽略崩溃 --ignore-timeouts:忽略超时 --ignore-security-exceptions :忽略安全异常 --kill-process-after-error:发生错误后直接杀掉进程 --monitor-native-crashes:跟踪本地方法的崩溃问题 工作中为了保证测试数量的完整进行, -v -v 10000 > E:\monkey_log\20170831.txt kill:此参数用来杀掉进程 kill pid 先执行adb shell 再ps |grep monkey 查询结果如下图中

    32310

    嘘,我已经瞒着开发解锁APP日志文件抓取及分析啦!

    4.kmsg抓取 adb shell cat /proc/kmsg > kmsg.txt,打开后查msm_kgsl字段 说明:用于检索用printk生成的内核消息,任何时刻只能有一个具有超级用户权限的进程可以读取这个文件 5.dmsg抓取 adb shell dmesg > dmesg.txt 说明:dmesg用来显示开机信息,kernel会将开机信息存储ring buffer中。 待测试结束后,通过SD卡导出LOG到PC。 PROCESSES 面试题分享 作为测试怎么app发生异常的时候提交有效信息: 1、描述复现场景(复现步骤、复现现象) 2、发生异常截图 3、日志文件 (1)如果发生了崩溃(crash): adb 获取logcat,拉取/data/anr/traces.txt 发生多次ANR: 拉取dropbox目录中的data_app_anr开头的文件 跑monkey压力稳定性测试,记得清空dropbox里面的相关的异常文件信息哦

    1.4K20

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • 移动应用安全

      移动应用安全

      移动应用(APP)安全为用户提供移动应用全生命周期的一站式安全解决方案。涵盖移动应用加固、安全测评、安全组件等服务……

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券