(^_^)一.基本语法继承的好处:可以减少重复的代码classA:publicB;A类称为子类或派生类B类称为父类或基类派生类中的成员,包含两大部分:一类是从基类继承过来的,一类是自己增加的成员。从基类继承过过来的表现其共性,而新增的成员体现了其个性。//公共页面classBasePage{public:voidheader(){cout<<"首页、公开课、登录、注册...(公共头部)"<
【技巧】优雅的使用 pnpm 单体仓库构建一个高效、灵活的多项目架构
天下无贼!
前端必备技能架构前端开发语言vue.jsreact.jsnode.js
单体仓库(Monorepo)搭建指南:从零开始单体仓库(Monorepo)是一种将多个相关项目集中管理在一个仓库中的开发模式。它可以帮助开发者共享代码、统一配置,并简化依赖管理。本文将通过实际代码示例,详细介绍如何使用pnpm搭建一个单体仓库。1.创建项目目录mkdirxxx&&cdxxxmkdirmy-monorepo:mkdir是“makedirectory”的缩写,用于创建一个新的目录。xx
C++ 线程安全之互斥锁
__雨夜星辰__
c++开发语言学习笔记visualstudio多线程
目录线程安全1.原子性2.可见性3.顺序性互斥锁1.mutex类2.timed_mutex类3.recursive_mutex类4.lock_guard类线程安全线程安全是多线程编程是的计算机程序代码中的一个概念。在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且准确的执行,不会出现数据污染等意外情况。上述是百度百科给出的一个概念解释。换言之,线程安全就
python glob模块
蘑菇棒棒哒
python
0.摘要:glob是实用的文件名匹配库,glob.glob()函数将会匹配给定路径下的所有pattern,并以列表形式返回。用它可以查找符合特定规则的文件路径名。查找文件只用到三个匹配符:””,匹配0个或多个字符;“?”,”?”匹配单个字符;“[]”:”[]”匹配指定范围内的字符,如:[0-9]匹配数字;注意:如果文件名以“点”开头,无法被'’和'?'匹配,如:".card.gif"glob方法:
【Python】已解决ERROR: Could not find a version that satisfies the requirement
云天徽上
python运行报错解决记录python开发语言tensorflow人工智能numpy
成功解决“ERROR:Couldnotfindaversionthatsatisfiestherequirement”错误的全面指南一、引言在Python开发中,经常需要通过pip工具来安装各种依赖包。然而,有时在尝试安装某个包时,可能会遇到“ERROR:Couldnotfindaversionthatsatisfiestherequirement”的错误。这个错误表明pip无法找到与你的请求匹配
球球大作战Python单机版本
酷码编程接单空间
pygamepythonoracledjangotornadofastapi
球球大作战是一个多人在线游戏,玩家需要控制一个小球,通过吞食地图上的小点来增加自己的体积,同时避免被其他更大的球体吞噬。下面是一个简化版的球球大作战游戏,使用Python语言和pygame库来实现。在这个简化版中,我们将只使用控制台输入输出来模拟游戏。首先,你需要安装pygame库,可以使用以下命令安装:pipinstallpygame然后,你可以使用以下代码来创建一个简化版的球球大作战游戏:im
如何使用批处理脚本批量终止占用特定端口的进程-windows
好奇的菜鸟
Toolswindows
如何使用批处理脚本批量终止占用特定端口的进程在Windows操作系统中,有时我们会遇到需要终止占用某些端口的进程的情况。比如,当我们尝试启动某个程序时,发现该程序所需的端口已经被其他程序占用,导致无法正常运行。这时,我们就可以使用一个批处理脚本来快速查找并结束占用端口的进程。本文将展示如何编写一个批处理脚本,允许用户批量查找和终止占用特定端口的进程,并根据用户输入决定是否继续操作或退出。步骤一:编
学习笔记:顺序表(动态创建)vscode实现
San~ui
学习笔记考研vscode
动态分配的顺序表的优缺点:优点:可以动态增加主题缺点:动态增加长度中的迁徙工作时间增加实现方式(删除操作与静态一样)#include#include#include#defineInitSize1typedefstruct{int*data;//指向分配空间的起始地址intMaxSize;//最大容量intlength;//当前长度}SqList;//初始化voidInitList(SqList*
Python模块学习:glob 文件路径查找
semiler
pythonpythonglob
文章转载自《伯乐在线》原文出处:DarkbullPython模块学习:glob文件路径查找glob模块是最简单的模块之一,内容非常少。用它可以查找符合特定规则的文件路径名。跟使用windows下的文件搜索差不多。查找文件只用到三个匹配符:”*”,“?”,“[]“。”*”匹配0个或多个字符;”?”匹配单个字符;”[]“匹配指定范围内的字符,如:[0-9]匹配数字。glob.glob返回所有匹配的文件
微信小程序开发设置支持scss文件
晨枫阳
微信小程序scss小程序
在微信小程序开发中,默认是不支持scss文件的,创建文件的时候,css文件默认创建的是wxss后缀结尾的,但是用习惯了scss的怎么办呢?首先找到project.config.json文件,打开文件在setting下设置useCompilerPlugins,在useCompilerPlugins数组中增加"sass""useCompilerPlugins":["sass"],
Python: 修改源 知多少
技术探索者
#pythonpython开发语言
一.Windows源在Windows中使用Python修改源,需要通过修改pip配置文件或者使用pip命令直接指定源来实现。1.修改pip配置文件Windows用户通常在以下路径中找到pip配置文件%APPDATA%\pip\pip.ini注意:如果不存在的话,可以手动创建这个文件夹和文件。然后在pip.ini文件中添加以下内容,将源修改为你想要的源:[global]index-url=https
Android AIDL 使用教程
ByteSaid
Android开发androidipcaidl
AIDL(AndroidInterfaceDefinitionLanguage)是一种IDL语言,用于生成可以在Android设备上两个进程之间进行进程间通信(IPC)的代码。通过AIDL,可以在一个进程中获取另一个进程的数据和调用其暴露出来的方法,从而满足进程间通信的需求。通常,暴露方法给其他应用进行调用的应用称为服务端,调用其他应用的方法的应用称为客户端,客户端通过绑定服务端的Service来
Graphivz中文显示问题
断桥bian
工具graphviz工具
Graphviz(相关详细教程请点击进入官网)是基于dot语言的绘图工具,可以画有向图,无向图,关系图,目录图,流程图等。在使用过程中,发现Graphivz对中文的支持还是不够,容易出现各种各样的问题。中文乱码问题 这种问题,很多人都遇到过,因为Graphivz默认是不支持中文的,所以如果直接写中文的画,会显示成乱码,一般这种情况可以修改文件的编码格式为UTF-8,然后将fontname设置
Java设计模式 十三 代理模式 (Proxy Pattern)
空灵宫(Ethereal Palace)
设计模式java设计模式代理模式
代理模式(ProxyPattern)代理模式是一种结构型设计模式,它为其他对象提供一种代理(或占位符)以控制对该对象的访问。通过代理模式,我们可以在不修改目标对象的情况下,控制对其的访问,添加额外的功能,比如懒加载、权限检查、日志记录等。代理模式主要通过为目标对象创建一个代理对象来代替真实对象,代理对象可以控制对目标对象的访问,并可以在访问时提供附加功能。1.代理模式的组成代理模式通常包括以下角色
java环境变量配置
Vurteon
Javajava初学者环境变量
学习了一段时间的Java,其实吧,对于这个环境变量的配置,如果你直接使用eclipse和下载jdk,就不会用到。但是一般在写单个test的时候,使用编辑器和javac,java这两个命令是个不错的选择。为什么需要配置环境变量也就是这个原因,你在任意的一个目录下,输入了javac****然后就可以编译一个.java文件了,原因就在于,你把下载的jdk下的bin目录添加进了系统变量中的PATH,这样,
C++11中的新特性
rainboots
C++基础学习笔记c++python算法
C++11中的新特性文章目录一、基于范围的for循环C++11提供了一个特殊版本的for循环,在很多情况下,它都可以简化数组的处理,这就是基于范围的for循环。在使用基于范围的for循环处理数组时,该循环可以自动为数组中的每个元素迭代一次。不必使用计数器变量控制其迭代,也不必担心数组下标越界的问题。基于范围的for循环使用了一个称为范围变量的内置变量。每次基于范围的for循环迭代时,它都会复制下一
分布式 IO 模块与伺服电机:拉丝机高效生产的 “黄金搭档”
明达技术
分布式
在工业生产领域,拉丝机的高效运作对于金属加工等众多行业至关重要。随着技术的不断进步,明达技术MR30分布式IO模块与伺服电机的协同应用,正为拉丝机带来前所未有的生产效率提升。高效协作,提升产能MR30分布式IO模块的分布式特性,使得它可以灵活地控制拉丝机的各个关键节点上,实现对设备的全面监控和控制。它与伺服电机紧密协作,能够快速响应生产过程中的各种变化。比如,当拉丝速度需要根据生产需求进行调整时,
老域名建站更好吗?
域名域名申请域名配置
在互联网的世界里,域名不仅是网站的地址,更是品牌的重要组成部分。随着互联网的发展,关于域名的选择也出现了不同的观点,尤其是老域名和新域名的使用。那么,老域名建站是否更好呢?这是一个值得探讨的问题。本文将从多个角度分析老域名建站的优缺点,帮助大家更好地做出选择。一、老域名的潜在优势搜索引擎信任度:如果一个老域名在过去有良好的使用记录,未涉及违规或垃圾信息,搜索引擎可能已经对其建立了一定的信任度。例如
多边形扫描线填充算法
晓梦OvO
算法python
1.基本思想按扫描线顺序,计算扫描线与多边形的相交区间,再用要求的颜色显示这些区间的象素,即完成填充工作。对于一条扫描线填充过程可以分为四个步骤:1.求交:计算扫描线与多边形各边的交点;2.排序:把所有交点按x值递增顺序排序;3.配对:第一个与第二个,第三个与第四个等等;每对交点代表扫描线与多边形的一个相交区间,4.着色:把相交区间内的象素置成多边形颜色,把相交区间外的象素置成背景色。2.算法过程
淘宝商品评价 API 的获取与应用
前端后端运维数据挖掘api
在电商领域,商品评价是消费者购买决策的重要依据,也是商家了解产品优缺点、优化服务的关键信息来源。对于开发者和电商从业者来说,能够获取淘宝商品评价数据,进行深入分析,具有极大的价值。淘宝商品评价API就提供了这样一个途径,通过该API可以获取到淘宝平台上各类商品的评价信息,从而为市场分析、竞品研究、店铺运营优化等提供有力支持。本文将详细介绍淘宝商品评价API的获取方法及实际应用,并附上代码示例,帮助
用Python的glob模块查找文件路径名
洪小帅
python开发语言
用Python的glob模块查找文件路径名基本用法示例`glob`的函数示例:使用`iglob()`处理大型文件总结大家好,我素洪小帅~glob模块是Python的一个标准库模块,用于查找符合特定规则的文件路径名,它支持使用通配符来匹配文件。glob模块可以方便地列出文件目录中的文件,并对文件名进行模式匹配。基本用法导入模块:importglob使用通配符匹配文件*:匹配零个或多个字符。?:匹配一
设计模式概述 - 设计模式的重要性
w(゚Д゚)w吓洗宝宝了
C++从0到1设计模式c++
引言设计模式是软件工程中用于解决常见设计问题的经典解决方案。它们提供了一种标准化的方式来组织和设计代码,使得代码更易于理解、维护和扩展。在C++编程中,设计模式尤为重要,因为它们可以帮助开发者应对复杂的系统设计,提高代码的可重用性和灵活性。本文将探讨设计模式的基本概念、分类以及它们在C++中的重要性。1.什么是设计模式?设计模式是经过验证的、可重用的解决方案,用于解决在软件设计中反复出现的问题。它
域名重定向怎么设置?设置后为什么打不开?
域名域名配置重定向
在互联网的世界中,域名重定向是一种常见的操作,它能够帮助网站管理者更好地管理域名资源,提升用户体验。简单来说,域名重定向就是将一个域名指向另一个域名或者网页地址,当用户访问原域名时,会自动跳转到指定的目标地址。然而,在进行域名重定向设置的过程中,可能会遇到设置后打不开网页的情况,下面我们就来详细探讨一下域名重定向的设置方法以及设置后打不开的原因。一、域名重定向的设置方法(一)通过DNS设置许多域名
服务器宕机原因?该怎么处理?
服务器服务器配置运维
在信息技术飞速发展的今天,服务器作为数据存储和处理的核心枢纽,其稳定性至关重要。一旦服务器宕机,可能会导致业务中断、数据丢失等严重后果,给企业和用户带来巨大损失。因此,了解服务器宕机的原因并掌握相应的处理方法,对于保障服务器的正常运行至关重要。一、服务器宕机原因(一)硬件故障硬件是服务器的物理基础,一旦出现问题,宕机在所难免。硬盘故障可能导致数据无法读取或写入,进而引发服务器宕机。硬盘长期使用后,
Linux基础3
2301_78560796
linux运维服务器
VIM编辑器1.命令模式gg:移动光标到第一行G:移动光标到最后一行$:移动光标到当前行的行尾(最后一行),一般可以使用shift+$o:移动光标到当前行的行首(第一列)x:删除当前光标所在处的一个字符nx:删除当前光标所在处以及后面共n个字符X:删除当前光标的左边一个字符D:删除当前光标至行尾:dd:删除当前光标所在行ndd:删除当前光标所在后面共n行,注意n是数字键dG:删除当前光标所在行至文
jvm调优总结(从基本概念 到 深度优化)
oloz
javajvmjdk虚拟机应用服务器
JVM参数详解:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html
Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。
【Scala十六】Scala核心十:柯里化函数
bit1129
scala
本篇文章重点说明什么是函数柯里化,这个语法现象的背后动机是什么,有什么样的应用场景,以及与部分应用函数(Partial Applied Function)之间的联系 1. 什么是柯里化函数
A way to write functions with multiple parameter lists. For instance
def f(x: Int)(y: Int) is a
HashMap
dalan_123
java
HashMap在java中对很多人来说都是熟的;基于hash表的map接口的非同步实现。允许使用null和null键;同时不能保证元素的顺序;也就是从来都不保证其中的元素的顺序恒久不变。
1、数据结构
在java中,最基本的数据结构无外乎:数组 和 引用(指针),所有的数据结构都可以用这两个来构造,HashMap也不例外,归根到底HashMap就是一个链表散列的数据
Java Swing如何实时刷新JTextArea,以显示刚才加append的内容
周凡杨
java更新swingJTextArea
在代码中执行完textArea.append("message")后,如果你想让这个更新立刻显示在界面上而不是等swing的主线程返回后刷新,我们一般会在该语句后调用textArea.invalidate()和textArea.repaint()。
问题是这个方法并不能有任何效果,textArea的内容没有任何变化,这或许是swing的一个bug,有一个笨拙的办法可以实现
servlet或struts的Action处理ajax请求
g21121
servlet
其实处理ajax的请求非常简单,直接看代码就行了:
//如果用的是struts
//HttpServletResponse response = ServletActionContext.getResponse();
// 设置输出为文字流
response.setContentType("text/plain");
// 设置字符集
res
FineReport的公式编辑框的语法简介
老A不折腾
finereport公式总结
FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式。
简单的说下自己感觉的公式要注意的几个地方:
1.if语句语法刚接触感觉比较奇怪,if(条件式子,值1,值2),if可以嵌套,if(条件式子1,值1,if(条件式子2,值2,值3)
linux mysql 数据库乱码的解决办法
墙头上一根草
linuxmysql数据库乱码
linux 上mysql数据库区分大小写的配置
lower_case_table_names=1 1-不区分大小写 0-区分大小写
修改/etc/my.cnf 具体的修改内容如下:
[client]
default-character-set=utf8
[mysqld]
datadir=/var/lib/mysql
socket=/va
我的spring学习笔记6-ApplicationContext实例化的参数兼容思想
aijuans
Spring 3
ApplicationContext能读取多个Bean定义文件,方法是:
ApplicationContext appContext = new ClassPathXmlApplicationContext(
new String[]{“bean-config1.xml”,“bean-config2.xml”,“bean-config3.xml”,“bean-config4.xml
mysql 基准测试之sysbench
annan211
基准测试mysql基准测试MySQL测试sysbench
1 执行如下命令,安装sysbench-0.5:
tar xzvf sysbench-0.5.tar.gz
cd sysbench-0.5
chmod +x autogen.sh
./autogen.sh
./configure --with-mysql --with-mysql-includes=/usr/local/mysql
sql的复杂查询使用案列与技巧
百合不是茶
oraclesql函数数据分页合并查询
本片博客使用的数据库表是oracle中的scott用户表;
------------------- 自然连接查询
查询 smith 的上司(两种方法)
&
深入学习Thread类
bijian1013
javathread多线程java多线程
一. 线程的名字
下面来看一下Thread类的name属性,它的类型是String。它其实就是线程的名字。在Thread类中,有String getName()和void setName(String)两个方法用来设置和获取这个属性的值。
同时,Thr
JSON串转换成Map以及如何转换到对应的数据类型
bijian1013
javafastjsonnet.sf.json
在实际开发中,难免会碰到JSON串转换成Map的情况,下面来看看这方面的实例。另外,由于fastjson只支持JDK1.5及以上版本,因此在JDK1.4的项目中可以采用net.sf.json来处理。
一.fastjson实例
JsonUtil.java
package com.study;
impor
【RPC框架HttpInvoker一】HttpInvoker:Spring自带RPC框架
bit1129
spring
HttpInvoker是Spring原生的RPC调用框架,HttpInvoker同Burlap和Hessian一样,提供了一致的服务Exporter以及客户端的服务代理工厂Bean,这篇文章主要是复制粘贴了Hessian与Spring集成一文,【RPC框架Hessian四】Hessian与Spring集成
在
【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中
【Mahout二】基于Mahout CBayes算法的20newsgroup的脚本分析
bit1129
Mahout
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information re
nginx三种获取用户真实ip的方法
ronin47
随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址,如果后端是apache,请跳转到<apache获取用户真实IP地址>,如果是后端真实服务器是nginx,那么继续往下看。
实例环境: 用户IP 120.22.11.11
java-判断二叉树是不是平衡
bylijinnan
java
参考了
http://zhedahht.blog.163.com/blog/static/25411174201142733927831/
但是用java来实现有一个问题。
由于Java无法像C那样“传递参数的地址,函数返回时能得到参数的值”,唯有新建一个辅助类:AuxClass
import ljn.help.*;
public class BalancedBTree {
BeanUtils.copyProperties VS PropertyUtils.copyProperties
诸葛不亮
PropertyUtilsBeanUtils
BeanUtils.copyProperties VS PropertyUtils.copyProperties
作为两个bean属性copy的工具类,他们被广泛使用,同时也很容易误用,给人造成困然;比如:昨天发现同事在使用BeanUtils.copyProperties copy有integer类型属性的bean时,没有考虑到会将null转换为0,而后面的业
[金融与信息安全]最简单的数据结构最安全
comsci
数据结构
现在最流行的数据库的数据存储文件都具有复杂的文件头格式,用操作系统的记事本软件是无法正常浏览的,这样的情况会有什么问题呢?
从信息安全的角度来看,如果我们数据库系统仅仅把这种格式的数据文件做异地备份,如果相同版本的所有数据库管理系统都同时被攻击,那么
vi区段删除
Cwind
linuxvi区段删除
区段删除是编辑和分析一些冗长的配置文件或日志文件时比较常用的操作。简记下vi区段删除要点备忘。
vi概述
引文中并未将末行模式单独列为一种模式。单不单列并不重要,能区分命令模式与末行模式即可。
vi区段删除步骤:
1. 在末行模式下使用:set nu显示行号
非必须,随光标移动vi右下角也会显示行号,能够正确找到并记录删除开始行
清除tomcat缓存的方法总结
dashuaifu
tomcat缓存
用tomcat容器,大家可能会发现这样的问题,修改jsp文件后,但用IE打开 依然是以前的Jsp的页面。
出现这种现象的原因主要是tomcat缓存的原因。
解决办法如下:
在jsp文件头加上
<meta http-equiv="Expires" content="0"> <meta http-equiv="kiben&qu
不要盲目的在项目中使用LESS CSS
dcj3sjt126com
Webless
如果你还不知道LESS CSS是什么东西,可以看一下这篇文章,是我一朋友写给新人看的《CSS——LESS》
不可否认,LESS CSS是个强大的工具,它弥补了css没有变量、无法运算等一些“先天缺陷”,但它似乎给我一种错觉,就是为了功能而实现功能。
比如它的引用功能
?
.rounded_corners{
[入门]更上一层楼
dcj3sjt126com
PHPyii2
更上一层楼
通篇阅读完整个“入门”部分,你就完成了一个完整 Yii 应用的创建。在此过程中你学到了如何实现一些常用功能,例如通过 HTML 表单从用户那获取数据,从数据库中获取数据并以分页形式显示。你还学到了如何通过 Gii 去自动生成代码。使用 Gii 生成代码把 Web 开发中多数繁杂的过程转化为仅仅填写几个表单就行。
本章将介绍一些有助于更好使用 Yii 的资源:
Apache HttpClient使用详解
eksliang
httpclienthttp协议
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会
zxing二维码扫描功能
gundumw100
androidzxing
经常要用到二维码扫描功能
现给出示例代码
import com.google.zxing.WriterException;
import com.zxing.activity.CaptureActivity;
import com.zxing.encoding.EncodingHandler;
import android.app.Activity;
import an
纯HTML+CSS带说明的黄色导航菜单
ini
htmlWebhtml5csshovertree
HoverTree带说明的CSS菜单:纯HTML+CSS结构链接带说明的黄色导航
在线体验效果:http://hovertree.com/texiao/css/1.htm代码如下,保存到HTML文件可以看到效果:
<!DOCTYPE html >
<html >
<head>
<title>HoverTree
fastjson初始化对性能的影响
kane_xie
fastjson序列化
之前在项目中序列化是用thrift,性能一般,而且需要用编译器生成新的类,在序列化和反序列化的时候感觉很繁琐,因此想转到json阵营。对比了jackson,gson等框架之后,决定用fastjson,为什么呢,因为看名字感觉很快。。。
网上的说法:
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。
基于Mybatis封装的增删改查实现通用自动化sql
mengqingyu
DAO
1.基于map或javaBean的增删改查可实现不写dao接口和实现类以及xml,有效的提高开发速度。
2.支持自定义注解包括主键生成、列重复验证、列名、表名等
3.支持批量插入、批量更新、批量删除
<bean id="dynamicSqlSessionTemplate" class="com.mqy.mybatis.support.Dynamic
js控制input输入框的方法封装(数字,中文,字母,浮点数等)
qifeifei
javascript js
在项目开发的时候,经常有一些输入框,控制输入的格式,而不是等输入好了再去检查格式,格式错了就报错,体验不好。 /** 数字,中文,字母,浮点数(+/-/.) 类型输入限制,只要在input标签上加上 jInput="number,chinese,alphabet,floating" 备注:floating属性只能单独用*/
funct
java 计时器应用
tangqi609567707
javatimer
mport java.util.TimerTask; import java.util.Calendar; public class MyTask extends TimerTask { private static final int
erlang输出调用栈信息
wudixiaotie
erlang
在erlang otp的开发中,如果调用第三方的应用,会有有些错误会不打印栈信息,因为有可能第三方应用会catch然后输出自己的错误信息,所以对排查bug有很大的阻碍,这样就要求我们自己打印调用的栈信息。用这个函数:erlang:process_display (self (), backtrace).需要注意这个函数只会输出到标准错误输出。
也可以用这个函数:erlang:get_s