ICode9

精准搜索请尝试: 精确搜索
  • 由Lambda和线程池搭配引发的segment fault,顺便聊一下为什么java里的lambda设计成了按值传递2022-06-14 02:01:15

    由lambda和线程池搭配引发的segment fault,顺便聊一下为什么java里的lambda设计成了按值传递 BUG属性:偶发型BUG,无法精准触发  对bev的引用捕获,会因为bev存储的值随着堆栈的变化而发生SF 触发过程:多线程下的操作 线程池线程耗尽情况下,任务压进任务队列中存储 在轮到此任务执行时,

  • Frida打印堆栈模板2022-06-09 14:04:21

    //调用方法 function printStack() { Java.perform(function () { var Exception = Java.use("java.lang.Exception"); var ins = Exception.$new("Exception"); var straces = ins.getStackTrace(); if (straces != und

  • c语言内存堆栈解析2022-06-01 18:35:12

    堆区生长空间向上,地址越来越大;栈区生长空间向下,地址越来越小 栈区分配局部变量空间;堆区分配程序员申请的内存空间,比如说数组,比如用malloc生成的函数空间、new生成的函数  需要delete释放 此外静态区是分配静态变量、全局变量的地方;只读区是分配常量和程序代码空间 栈是向下的连续

  • 从Python调用堆栈获取行号等信息2022-05-27 15:35:29

    从Python调用堆栈获取行号等信息 程序中的日志打印,或者消息上传,比如kafka消息等等。经常上传的消息中需要上传堆栈信息中的文件名、行号、上层调用者等具体用于定位的消息。Python提供了以下两种方法: sys._getframe, 基础方法 inspect.currentframe, 推荐方法,提供除了sys._getframe

  • jstack跟踪Java堆栈信息2022-05-25 18:34:40

    1、简介        jstack(Java Virtual Machine Stack Trace)是JDK提供的一个可以生成Java虚拟机当前时刻的线程快照信息的命令行工具。线程快照一般被称为threaddump或者javacore文件,是当前Java虚拟机中每个线程正在执行的Java线程、虚拟机内部线程和可选的本地方法堆栈帧的集合

  • Slf4j打印异常堆栈信息并推送到ELK2022-05-24 21:02:53

    1.问题描述 在日常开发中,对于异常信息,通过会进行log打印,有时会接入到ELK,但需要注意细节问题。 用的最多的可能就是在类上加入@Slf4j注解,在可能异常的地方使用log.error("异常信息为:"+e)或log.error("异常信息为:{}", e.getMessage())打印错误信息,但在实际场景中想要去分析异常的原

  • 堆栈段的用途2022-05-14 22:02:48

    堆栈段有3个主要的用途 1. 堆栈为函数内部声明的局部变量提供存储空间。按照C语言术语,这些变量被称为“自动变量”。 2. 进行函数调用时,堆栈存储与此有关的一些维护性信息,这些信息被称为堆栈结构,另外一个更常用的名字是过程活动记录。它包括函数调用地址(即所调用的函数结束后跳回

  • DOS实模式下可执行文件的基本结构及相应的装载过程2022-05-10 09:32:53

    DOS实模式下可执行文件的基本结构及相应的装载过程。 实模式下的可执行程序,分为两种: (1).com的可执行程序 特征:A. 代码段、数据段、堆栈段三合一; B. 整个程序就只有一个段(段长也就是程序长度不能超过64KB); C. 程序的起始地址(执行的第一条指令)就在偏移100H处。

  • JVM内存堆栈分析2022-05-09 12:32:43

    一、JVM线程堆栈数据分析   JVM 内部线程主要分为以下几种:     VM 线程:单例的 VMThread 对象,负责执行 VM 操作;     定时任务线程:单例的 WatcherThread 对象, 模拟在 VM 中执行定时操作的计时器中断;     GC 线程:垃圾收集器中,用于支持并行和并发垃圾回收的线程;   

  • git基础2022-05-07 17:35:43

    一、git基础 1.获取 Git 仓库 通常有两种获取 Git 项目仓库的方式: 将尚未进行版本控制的本地目录转换为 Git 仓库。 从其它服务器 克隆 一个已存在的 Git 仓库。 在已存在目录中初始化仓库 进入进入该项目目录中 cd my_project 初始化 git init 注:该命令将创建一个

  • 内核orc-unwinder.txt文档2022-04-22 11:31:05

    翻译内核文档重点部分,难免有误,请见谅 内核版本4.19.190   内核 CONFIG_UNWINDER_ORC 选项启用 ORC 展开器,它在概念上类似于 DWARF 展开器。 不同的是,ORC 数据的格式比 DWARF 简单得多,这反过来又使 ORC unwinder 更简单、更快。 ORC 数据由 objtool 生成的展开表组成.它们包含内核

  • 嵌入式开发出现BUG的常见原因2022-04-20 09:34:30

    在嵌入式开发软件中查找和消除潜在的错误是一项艰巨的任务。 通常需要英勇的努力和昂贵的工具才能从观察到的崩溃,死机或其他计划外的运行时行为追溯到根本原因。 在最坏的情况下,根本原因会破坏代码或数据,使系统看起来仍然可以正常工作或至少在一段时间内仍能正常工作。 工程师常常

  • 递归,堆栈溢出2022-04-19 23:01:20

          递归函数,动态分配内存, 会堆栈溢出 在内存中再分配内存,内存会不够用  

  • L3-002 特殊堆栈2022-04-19 08:33:19

    #include <bits/stdc++.h> using namespace std; const int N = 1E5 + 10; int tr[N]; stack<int> stk; int lowbit(int x) { return x & -x; } void add(int x, int d) { for (int i = x; i < N; i += lowbit(i)) { tr[i] += d;

  • PTA 堆栈操作合法性2022-04-16 21:02:55

    假设以S和X分别表示入栈和出栈操作。如果根据一个仅由S和X构成的序列,对一个空堆栈进行操作,相应操作均可行(如没有出现删除时栈空)且最后状态也是栈空,则称该序列是合法的堆栈操作序列。请编写程序,输入S和X序列,判断该序列是否合法。 输入格式: 输入第一行给出两个正整数N和M,其中N是待

  • AWS 18 AWS_CloudFormation2022-04-12 08:31:38

    作为代码的基础设施 •目前,我们已经做了大量的手工工作 •所有这些手工工作都很难复制: •在另一个地区 •在另一个AWS账户中 •如果删除了所有内容,则在同一区域内 •如果我们所有的基础设施都是……代码,那不是很棒吗?•该代码将被部署并创建/更新/删除我们的基础设施--------------

  • dump解析入门-用VS解析dump文件进行排障2022-03-20 22:03:12

    引用网址:https://www.cnblogs.com/yudongdong/p/9687320.html 突然有一天部署在服务器的一个应用挂掉了,没办法只能进入服务器打开     【事件查看器】查看下,好不容易找到了打开后一脸懵逼       事件查看器查到的内容根本对我们排障没有任何作用。 在这个时候如果有对应的dum

  • 一图读懂JVM架构解析2022-03-19 18:02:46

    本文阐述了JVM的构成和组件,配图清晰易懂,是学习Java开发者的入门必读文章。 每个Java开发人员都知道字节码经由JRE(Java运行时环境)执行。但他们或许不知道JRE其实是由Java虚拟机(JVM)实现,JVM分析字节码,解释并执行它。作为开发人员,了解JVM的架构是非常重要的,因为它使我们能够编写

  • (转载) freertos任务切换xPortPendSVHandler2022-03-11 13:35:17

    版权声明:本文为CSDN博主「John.Ma」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/u011727389/article/details/84547586 其他参考:https://blog.csdn.net/weixin_45636061/article/details/121460820 FreeRTOS版本:FreeRTOS V

  • 可变类型与不可变类型;队列与堆栈2022-03-09 22:00:27

    可变类型与不可变类型 不可变类型 s1 = '^^^^^success^^^^' print(s1.strip('^')) # success 本身并没有修改 是产生了新的结果 print(s1) # ^^^^^success^^^^ # 查看内存地址 print(id(s1)) # 2168071404040 print(id(s1.strip('^'))) # 2168071377504 可变类型 s2 = [111,

  • Linux下获取java堆栈文件并进行分析2022-03-08 14:01:55

    当服务器内存飙升或者cpu负载飙升的时候,可以使用如下步骤排查问题: 1、终端输入top命令,键盘大写的情况下按P(cpu负载率从高到低排序)或者M(内存使用率从高到低排序),可以查看导致cpu或者内存飙升的java pid。 2、jstack PID号 > jstack.log 上面的命令可以保存当前时刻的线程栈

  • java 命令(jstack)2022-02-27 22:32:44

    1、功能 jstack 是jvm自带的java线程堆栈跟踪工具,用于打印指定java进程的id、core file、远程调试服务的java堆栈信息 jstack命令用于生成虚拟机当前时刻的线程快照。 线程出现停顿的时候通过jstack来查看各个线程的调用堆栈,就可以知道没有响应的线程到底在后台做什么事情,或者等

  • 特权级与TSS2022-02-27 15:31:52

    整个计算机世界其实可以分为两个部分,访问者和受访者。访问者是动态的,具有能动性,它主动去访问各种资源。受访者是静态的,它就是被访问的资源,只能干坐着等待访问者光顾。访问者的特权级可变,受访者的特权级不可变。 CPU即是大脑,又是守卫,它负责维护计算机内的安全,将程序分为四个特

  • RISC-V MCU移植RTOS系列教程(二)2022-02-25 09:33:41

    接着以WCH沁恒微电子的赤菟V103(CH32V103)和赤菟V307(CH32V307)两款RISC-V内核芯片来详细说下针对RISC-V平台,移植实时操作系统的注意点。 今天聊下移植RTOS时RISC-V内核时单片机任务栈保存哪些内容。 上一章中列举了所有的寄存器,当需要切换任务时刻的寄存器值,除x0恒为0,其他的寄存器无

  • HardFault_Handler异常2022-02-21 23:01:39

    Cortex-M3 双堆栈指针(MSP&PSP) Cortex-M3内核中有两个堆栈指针(MSP & PSP),但任何时刻只能使用到其中一个。复位后处于线程模式特权级,默认使用MSP。通过SP访问到的是正在使用的那个指针,可以通过MSR/MRS指令访问指定的堆栈指针。通过设置CONTROL寄存器的bit[1]选择使用哪个堆栈指

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有