15 lw1a2

尚未进行身份认证

暂无相关描述

等级
TA的排名 1w+

将在mdb里执行的结果保存到文件中

例如将在mdb里执行的结果保存到1.txt中方法1):使用mdb的日志功能($>命令):>$>1.txt>::nm方法2):使用!命令:>::nm!cat>1.txt

2012-03-24 09:10:15

Solaris下使用MDB查看全局变量的值

假设要查看全局变量m_FmSvcMsgQueue的值1)得到m_FmSvcMsgQueuemangle后的值:nmlibfm.so|c++filt|grepm_FmSvcMsgQueue[8323] | 5003644|   32|OBJT|GLOB|0  |19  |m_FmSvcMsgQueuenmlibfm.so|grep8323

2012-03-24 09:08:45

Solaris Performance and Tools 笔记(未完待续)

分析方法1. Monitoring.Usingasystemtorecordstatisticsovertime.Thisdatamayreveallongtermpatternsthatmaybemissedwhenusingtheregularstattools.MonitoringmayinvolveusingSunMC,SNM

2012-03-24 09:06:14

DTrace简介

基本语法probe/optionalpredicates/{optionalactionstatements;}其中:1)       probe:探针,即所要探查的对象。2)       optionalpredicates:DTrace脚本没有if语句,使用/optionalpredicates/来替代。3)       optio

2012-03-24 09:04:07

Linux下C++国际化

有关国际化应用程序国际化的实质是提供一种机制,使其能根据环境变量或配置文件,来指导程序的行为。当对新的“国家”进行支持时,不用修改代码,只修改资源文件就可以实现。例如,“把LANG设为C,再用vi打开带中文的文件,中文显示乱码”。就是因为vi根据LANG做了某些操作。在Linux下,和国际化相关的locale环境变量有三类:LC_ALL,LC_*(如LC_CTYPE等),LANG。

2012-03-24 08:52:19

有关CentOS6的man报错

1)对于找不到的命令,man会报错:[jing@CentOSlocale]$manabcCannotopenthemessagecatalog"man"forlocale"zh_CN.UTF-8"(NLSPATH="/usr/share/locale/%l/LC_MESSAGES/%N")Nomanualentryforabc[jing@C

2011-11-19 18:44:55

Solaris10 GCC bus error 一例

Solaris10GCCbuserror一例环境:Solaris10SPARCGCC4.4.2背景:原先代码使用CC编译的,是32位程序。有-O2优化。现在迁移到GCC下,并改为64位程序。调试阶段未加-O2优化。问题:程序运行某些用例,在最后退出时,会报buserror。随机性很大。堆栈是某些全局的string(或map)

2011-11-02 15:46:04

[Errno 6] No such device or address: '/dev/tty'

调用流程:CruiseControl-->AntProject-->PythonPexpect-->ssh发现有的时候会报[Errno6]Nosuchdeviceoraddress:'/dev/tty'。至今没找到原因,不研究了,准备用AntSshexec代替。

2011-01-14 13:13:00

我们经常喜欢说的

1)你要是很快搞定问题,领导就会认为这个问题没难度,领导根本不懂技术。2)程序在客户那出问题再说吧,否则显示不出我的价值。3)为什么那个家伙比我差,挣得还比我多,不就早来几年嘛。T.B.C

2010-12-31 11:36:00

什么跨数据库,都是浮云

跨数据库,浮云

2010-11-23 12:56:00

Solaris10修改进程名称

对于多进程的程序,由于会针对同一可执行文件起多个进程,这样用ps–ef会看到多个同名的进程在运行。存在辨别到底是哪个进程的问题,所要要针对每一个进程取一个唯一的名字。

2010-10-28 19:28:00

关于在32位系统下使用VMware安装64位系统的问题

最开始是在XP(32位)下安装的Solaris10(32位)和SUSE11(64位),当时的CPU是闪龙2500+,VMware的版本是7.0.0-203739后来换了WIN7(32位),VMware重装了,但是Solaris10和SUSE11的硬盘文件没换,仍然可以用。后来把CPU换成“速龙643400+”了,重装完WIN7和VMware后,之前的Solaris10和SUSE11的硬盘文件没法用了,告诉我CPU不支持64位,试过很多次都不行。奇怪的是Solaris10明明是32位的,也不

2010-10-16 11:38:00

SlickEdit + Cygwin,SlickEdit的build窗口显示乱码的问题

Windows下,编辑器使用SlickEdit2010,编译器使用Cygwin的GCC。当编译出错的时候,SlickEdit的build窗口会出现乱码。在Cygwin中直接make,会发现报错的输出中存在全角的单引号,查看Cygwin的环境变量LANG,发现LANG=C.UTF-8。正是因为SlickEdit不认全角的单引号,才导致build窗口显示乱码。解决办法:由于Cygwin里面还要显示中文文件,所以不能修改Windows的环境变量。于是建立一个vs.bat文件,内容如下:setLA

2010-08-30 21:01:00

一种定位内存泄露的方法(Linux)

目的:本文是《一种定位内存泄露的方法(Solaris)》对应的Linux版本,调试器使用gdb。主要介绍实例部分。其他请见《一种定位内存泄露的方法(Solaris)》。实例:模拟new失败的程序:#includeclassABC{public:       virtual~ABC(){}       inti;       intj;};

2010-05-16 18:35:00

一种定位内存泄露的方法(Solaris)

问题:客户测试的镜像环境出现一个3.8G的core文件,查看堆栈发现是new失败了导致进程abort。因为是32位应用程序,应该是所有的heap空间都被用光了,导致new失败。推测有几种可能:1)内存泄露导致内存耗尽。2)有些静态对象处理的不合理,导致一直在增大。3)有死循环,导致一直在做类似list::insert这样的操作,最终耗尽内存。定位思路:如果是第二种

2010-05-15 12:04:00

使用MDB查看变量的值(2)

使用MDB查看变量的值(2)LW1A2@163.COM 本节描述使用MDB查看core文件中STL变量的知识 一、目的在《使用MDB查看变量的值(1)》中,我们探讨了查看变量值的一般方法,但是对于复杂的对象,一点一点的查看内存太麻烦,MDB提供一种机制,可以自己实现插件来解析内存中的变量。 二、原理在《Solaris模块调试器指南(819–7055–10)》

2010-01-17 16:33:00

SVN+Apache

1、安装Subversion2、安装TSVN(不是必须的)3、安装Apache4、在Subversion的目录下搜索mod_dav_svn.so、mod_authz_svn.so这2个文件(一般在Subversion/bin下),将其复制到Apache的modules目录下5、在Subversion的目录下搜索libdb*.dll、intl3_svn.dll这2个文件(一般在Sub

2009-11-08 18:56:00

关于VC的rebase工具

进程默认加载的基址是0x00400000,DLL默认加载的基址是0x10000000 当一个进程加载多个DLL时,只能有一个DLL被加载到默认基址上,而其他的DLL必须通过“重定向”才能正确使用。“重定向”会降低程序的性能,使用rebase工具可以自动计算并改变DLL的加载基址,提高DLL的性能。使用方法:rebase-b0x1000000-v*.dll

2009-11-08 18:45:00

关于.命令

 .命令与export命令一样,都是使变量传递到子程序中,只不过.命令跟的是文件名,export命令跟的是变量名。使用方法:../.profileexportPATH=$PATH:/opt另:source命令等同于.命令

2009-11-08 18:43:00

使用宏生成C++简单工厂

Fruit.h#pragmaonce#includeclassFruit{public: virtual~Fruit(){} virtualvoidprint()=0;};Apple.h#pragmaonce#pragmaonce#include"Fruit.h"#includeclassApp

2009-10-21 23:14:00

查看更多

勋章 我的勋章
  • 黄花
    黄花
    子板块内专家分月排名榜第二