精华内容
下载资源
问答
  • Linux 下查看机器代码

    千次阅读 2015-12-07 19:34:30
    查看文本文件使用vim/less就足够了,但如果想要查看一些其他二进制文件(例如DB的数据文件、程序的二进制代码)则借助于od/hexdump这些工具会很方便,这里会通过一些实例来详细介绍od命令的相关参数。 1. od参数...

    查看文本文件使用vim/less就足够了,但如果想要查看一些其他二进制文件(例如DB的数据文件、程序的二进制代码)则借助于od/hexdump这些工具会很方便,这里会通过一些实例来详细介绍od命令的相关参数。
    1. od参数详解
    $od -j 49152 -N 38 -w4 -A d -t x1 -v tmp_test.ibd
    0049152 fd 6f fb 70
    0049156 00 00 00 03
    0049160 ff ff ff ff
    0049164 ff ff ff ff
    0049168 00 00 00 03
    0049172 ba 92 ac 0c
    0049176 45 bf 00 00
    0049180 00 00 00 00
    0049184 00 00 00 00
    -j 49152 跳过前49152个字节(bytes)
    -N 38 仅显示38个字节
    -w4 每一行显示4个字节
    -A d 表示最左侧的偏移量按十进制显示;-A还可以接[doxn],其中d表示十进制,o表示8进制,x表示16进制,n表示不显示该偏移量,如:
    od -j 49152 -N 8 -w4 -A n -t x1 -v ibdata1
    b4 0b c7 31
    00 00 00 03
    -t x1表示如何显示文件内容。这里,x表示按照16进制输出文件内容,x后面跟的“1”表示一次显示一个字节。下面是一个-t x2的输出:
    od -j 49152 -N 8 -w4 -A n -t x2 -v ibdata1
    0bb4 31c7 # 0bb4是十进制表示的两个字节
    0000 0300 #
    另外,注意到这里是0bb4和前面的b40b略有不同,这是因为我这里的测试平台是little-endian的(x86_64 Linux)。
    最后,参数-v表示,即使连续多行都是完全相同的字符0,仍然原样输出;不加该参数,则会使用星号(*)跳过多个相同的行。
    好了,再回头看看最前面的命令,已经没那么难理解了吧。
    参考文献:man od

    展开全文
  • 一、背景介绍:最近在了解网址导航项目,为了能够更加深入地了解被测...为了达成以上目的,我选择了phpstorm+xdebug来远程调试Linux上的代码。与之前白松分享的phpstorm+xdebug调试方法不同的是,前者调试的Webserve...

    一、背景介绍

    最近在了解网址导航项目,为了能够更加深入地了解被测对象,所以我选择了查看网址导航代码的方式进行,但是只是生硬地查看php源代码是比较生涩的,我希望能够通过IDE工具进行代码单步调试来了解整个网址导航的功能实现。

    为了达成以上目的,我选择了phpstorm+xdebug来远程调试Linux上的代码。与之前白松分享的phpstorm+xdebug调试方法不同的是,前者调试的Webserver是在本地环境搭建了php+apache调试的,而我要面对的问题有:

    1.网址导航的代码是部署在Linux虚机环境上的。

    2.代码运行环境是:Linux+nginx+php-fpm+redis+superphp的环境支持

    为了解决以上方法,采用了以下的方法。

    二、配置方法

    1.Linux虚机上编译配置xdebug

    1)下载xdebug。访问http://xdebug.org/download.php,下载对应的xdebug源代码。

    2)# tar -xvf xdebug-2.3.2.tgz

    3)#cd xdebug

    4)运行php目录/bin/phpize

    5)配置./configure--enable-xdebug --with-php-config=/phpbin路径/php-config

    6)make

    7)make install

    2.Linux虚机上配置xdebug

    php.ini文件中增加如下配置:

    zend_extension="/search/php5/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so" //xdebug.so的路径,请根据安装的php目录来配置

    [xdebug]

    xdebug.idekey=PHPSTORM

    xdebug.remote_connect_back = 1 //如果开启此,将忽略下面的 xdebug.remote_host 的参数

    xdebug.remote_host=10.129.157.29 //注意这里是,客户端的ip<IDE的机器的ip,不是你的web server>

    xdebug.remote_enable=on

    xdebug.remote_port = 9001 //注意这里是,客户端的端口<IDE的机器的ip,不是你的web server>

    xdebug.remote_handler = dbgp

    xdebug.auto_trace = 1

    xdebug.collect_includes = 1

    xdebug.collect_params = 1

    xdebug.collect_return = 1

    xdebug.default_enable = 1

    xdebug.collect_assignments = 1

    xdebug.collect_vars = 1

    xdebug.remote_autostart = 1

    xdebug.show_local_vars = 1

    xdebug.show_exception_trace = 0

    3.下载phpstorm

    4.phpstorm中配置

    1)配置Debug项:打开file->setings->php|Debug。在右侧的xdebug配置项中,配置与服务器xdebug一样的端口号,如上例的9001。

    2)配置server项

    a.打开file->setings->php|Servers 在右侧点击+,添加server,host: web服务器的域名或ip ,端口一般为80。

    b.勾选下面的 use pathmapping,在absolute path to the server填写服务器上代码所在的路径。这里一定要设置哦! 不然,会发生找不到文件而出错,导至调试终止 。

    note:由于网址导航中还要引用superphp,所以在project中需要增加superphp,并且设置在服务器上superphp的路径。

    3)配置WEB Application调试点:打开Run->EditConfigurations-> 增加一个 PHP WEBAPPlication 的调试点 。

    至此,配置完毕!

    5.在代码中设置断点后,点击Run->Debug,浏览器被调起,同时phpstorm中的断点被中断,之后就可以F5单步调试了。

     

    展开全文
  • Linux下使用远程ssh命令运行其他机器上的代码想在机器A上远程运行机器B上的一条命令,如运行B上的ls,则可使用命令:cyf@A:~$ ssh cyf@B 'ls'如果想在机器A上远程运行机器B上的多条命令,可使用分号将多条命令分开,...

    Linux下使用远程ssh命令运行其他机器上的代码

    原文链接:https://www.ifee.win/blog/2021/05/07/linux%e4%b8%8b%e4%bd%bf%e7%94%a8%e8%bf%9c%e7%a8%8bssh%e5%91%bd%e4%bb%a4%e8%bf%90%e8%a1%8c%e5%85%b6%e4%bb%96%e6%9c%ba%e5%99%a8%e4%b8%8a%e7%9a%84%e4%bb%a3%e7%a0%81/

    想在机器A上远程运行机器B上的一条命令,如运行B上的ls,则可使用命令:

    cyf@A:~$ ssh cyf@B 'ls'

    如果想在机器A上远程运行机器B上的多条命令,可使用分号将多条命令分开,如:

    cyf@A:~$ ssh cyf@B 'cd test; ls'

    当然也可以运行机器B上的shell脚本,如机器B上的cyf用户目录下有一个test.sh的脚本,则可以:

    cyf@A:~$ ssh cyf@B './test.sh'

    cyf@A:~$ ssh cyf@B 'bash test.sh'

    但是在远程运行机器B上的java程序Test的时候,出现了问题:

    cyf@A:~$ ssh cyf@B 'java Test'

    提示

    bash: java: 未找到命令

    而直接ssh cyf@B之后,再运行java Test正常

    如果执行

    cyf@A:~$ ssh cyf@B ‘env’

    会发现没有java环境变量

    这是因为ssh执行命令时是个短链接,没有打开终端,所以不会去加载.bashrc环境变量从而导致不识别java命令

    解决方法:修改/etc/environment,在其中添加java路径

    PATH="usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/jdk/bin"

    再次执行java程序Test,发现可以了

    展开全文
  • linux64bit机器上运行32位的代码

    千次阅读 2012-12-26 19:33:15
    我们知道在64bit的机器上可以运行32bit的代码, 那这里需要什么支持吗? 当然需要, 如果你没有安装必要的包, 你使用-m32参数会报下面这样类似的错误: /opt/x86_open64-4.2.3.2/lib/gcc-lib/x86_64-o

    今天再64bit的centos下,运行32bit下的二进制代码。 然后爆出了各种错误。

    后来网上找了许多资料。 发现这个还比较靠谱:


    我们知道在64bit的机器上可以运行32bit的代码, 那这里需要什么支持吗?
    当然需要, 如果你没有安装必要的包, 你使用-m32参数会报下面这样类似的错误:
    /opt/x86_open64-4.2.3.2/lib/gcc-lib/x86_64-open64-linux/4.2.3.2/mfef95: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
    不过我们安装了下面的几个包文件就可以正常运行了:
    yum install glibc.i686
    yum install glibc-devel
    yum install libstdc++.i686
    (记住也要安装i686的glibc和libstdc哟 ^-^)

    转于:http://www.lupaworld.com/home-space-uid-434384-do-blog-id-241620.html


    首先ldd filename  和file filename 分析二进制文件它属于多少位系统文件和它的依赖关系。


    第二 , 抓住两点就行了。 第一要有支持执行32bit下的c/c++文件的lib库。 比如libstdc++.so.6。

    其实它是一个指向libstdc++.so.6.0.13的符号连接。(可以ls -l  filename查看)

    去下载一个32bit的libstdc++.so.6.0.13的文件,放到某个目录下。 比如/usr/lib下。 

    然后建立符号连接: 

    ln -s libstdc++.so.6.0.13  ibstdc++.so.6


    第三, 设置LIB库路径。 

    我这以/usr/lib为例:

    export LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH





    展开全文
  • linux0.01源代码分析笔记

    千次阅读 2018-04-29 12:50:30
    linux0.01(原始版)源代码分析笔记 1. 整体结构: 第一个文件夹boot ,包含boot.s 和head.s 。boot.s 实现计算机加电自检引导扇区,第一次加载扇区和第二次加载操作系统的功能,head.s 主要包括初始设置的代码、...
  • 熟悉Linux命令行的童鞋都知道,ifconfig命令可以列出当前机器所有网络设备节点对应的IP地址,如下示例所示; 我们在实际的编程代码中,也需要通过代码来获取本地的IP地址,那么有没有办法,直接在代码中调用...
  • Linux常用命令代码大全

    万次阅读 2017-09-14 08:43:47
    arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 – (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 ...
  • Linux错误代码及其含义

    万次阅读 多人点赞 2018-01-29 16:40:50
    最近在做工程的时候,程序在崩溃时候弹出了错误号,然后根据错误号搜索错误信息,很快解决之,特此记录。...Linux错误代码及其含义 C Name Value Description 含义 Success 0 Success 成功 EPERM 1
  • uboot与linux机器

    千次阅读 2018-01-19 15:17:56
    u-boot的机器码和linux的一致,才能引导。——小白记录,谨慎参考,敬请指导 开发板:讯为exynos4412 linux内核的机器码,在arch/arm/tools/mach-types.h中,u-boot的机器码是在u-boot/include/asm-arm/mach-types....
  • linux查看汇编代码

    千次阅读 2017-11-30 11:46:56
    首先编译debug版本,然后dump -d demo
  • 背景最近换了几个平台来做机器学习,从Windows到阿里云的CentOS,再到笔记本重安的Ubuntu,涉及到一些如何在Linux下管理代码的方法,因为我自己是小白,所以也没有什么太好的方案。就简单的说一下自己用过的办法好了...
  • Linux代码下载

    千次阅读 2012-02-25 10:00:26
    1. 课程设计题目:下载某个版本的linux代码,生成一个定制的linux操作系统,完成后该系统可以用来作为启动系统使用。 2.如何做的问题? 内核版本 要编译一个最新的内核,您需要首先下载它的源代码 在您下载...
  • Linux 内核源代码的目录结构

    千次阅读 2009-05-24 21:53:00
    由于Linux 内核是一种单内核模式的系统,因此,内核中所有...这里我们首先列出Linux 内核完整的源代码目录,包括其中的子目录。然后逐一介绍各个目录中所包含程序的主要功能,使得整个内核源代码的安排形式能在我们的头
  • astyle linux美化代码

    千次阅读 2016-11-29 15:36:12
    还为自己写的代码难看而发愁吗,还在一行一行...本来嘛,作为高等生物应该优先去做一些智慧的事情,而不是把时间消耗在机器可以完美完成的事情上。可以到网站(http://astyle.sourceforge.net/)上下载源码自己编译,
  • 查看linux机器状态

    千次阅读 2017-06-08 14:26:58
    自己常用查看机器状态的方式: 查看io之类的,用vmstat 查看每个进程运行状态: ps aux 根据负载占用率来查看进程 1.vmstat -------------------------------- vmstat命令是最常见的Linux/Unix监控工具...
  • 把 汇编代码翻译成二进制机器代码

    千次阅读 2010-12-20 16:03:00
    http://blog.sina.com.cn/s/blog_574d08530100i0aj.html<br />汇编:把 汇编代码翻译成二进制机器代码 反汇编:把二进制机器代码翻译成汇编代码 汇编和反汇编是互逆的过程   以下都是linux环境...
  • Linux 错误代码含义/Linux Error Code

    万次阅读 2016-04-22 11:10:11
    Linux错误代码含义/Linux Error Code C Name Value Description EPERM 1 Operation not permitted ENOENT 2 ...
  • 搭建Linux内核代码阅读环境

    千次阅读 2011-10-09 10:02:46
    前言:在Win7下安装了VMware+Ubuntu,现在想阅读Linux内核代码。首先想到的是使用Source Insight,它是一款非常优秀的代码阅读工具。但Source Insight是运行在Window下的。除了将Linux内核代码copy到window下外,...
  • 用Visual Studio编辑Linux代码

    千次阅读 2012-07-03 23:48:17
    估计很多人都是用惯了Visual Studio的主,怎么也不适应Linux的一套编辑器,比如vim、source insight这些东西,可视化的eclipse效果还好点,但一般以远程共享一台Linux服务器为主,没那么好条件一人一个Linux机器。...
  • 在windows下写linux代码直接编译

    万次阅读 2018-01-15 17:59:16
    大多数人都习惯于在windows下用source insight编辑代码,然后用xftp拷贝到linux下进行编译,如果有小的改动,就直接在linux下用vim进行编辑修改。至于为什么是vim,工作这么多年,还没有一家公司的服务器是带界面的...
  • 在学校的时候,一直习惯在windows下搞开发,用visual stduio或是eclipse之类的ide。到了现在的公司之后,几乎都是在linux下开发的。...所以我往往是在寻找在windows好linux之间同步代码的方式。这样就
  • idea远程调试Linux上的Tomcat代码

    千次阅读 2017-08-31 19:19:58
    会导致一份代码会出现不同的效果,但是我们在Windows机器上打击断点,对于在Linux上跑的代码来说是不准确的。 所以我们就有了远程调试的需求。 我们在Tomcat的 catalina.sh的启动文件加入如下配置。 CATALINA_OPTS=...
  • Linux挂载远程机器文件目录

    千次阅读 2013-11-05 14:21:34
    vim代码提示,受尽折磨,随大众,eclipse。远程开发机,本地编辑,同步,不胜其烦。 方案:use NFS service ! 把远程机器上的目录挂载在本地机器上。 第一步:在远程机器上启动NFS服务。 1,在/etc/exports中...
  • linux从svn更新代码脚本

    千次阅读 2015-04-24 17:39:52
    linux从svn更新代码到当前机器 #!/bin/sh cd /xxx/src svn update cd um_core mvn clean install cd .. cd um_oms mvn clean package cd /xxx/jsp/xxx....
  • 在window下编写linux代码

    万次阅读 2006-10-30 16:06:00
    在windows环境下写linux代码我在linux下写代码时一直找不到方便的工具,vi和emacs虽然提供了自动完成的功能,但是还是没有vc+visual assistant方便,因此就产生了在windows下 linux代码的想法,这个企图曾经被狒狒...
  • Windows Eclipse编译调试Linux下的C++代码

    千次阅读 2013-12-14 12:39:41
    Windows机器挂载Linux机器Samba网盘后,可以在Windows机器上通过Eclipse C++编辑Linux机器上的C++代码(Eclipse C++默认是不带编译器和调试器的)。在此基础上,安装Cygwin,可以在Windows机器上编译、调试Linux下的...
  • 这篇文章将介绍基于机器学习的恶意代码检测技术,主要参考郑师兄的视频总结,包括机器学习概述与算法举例、基于机器学习方法的恶意代码检测、机器学习算法在工业界的应用。同时,我再结合自己的经验进行扩充,详细...
  • 在前一篇文章提到,从源代码树下载下来的最新Android源代码,是不包括内核代码的,也就是Android源代码工程默认不包含Linux Kernel代码,而是使用预先编译好的内核,也就是prebuilt/android-arm/kernel/kernel-qemu...
  • 没想到python代码放到linux下会碰到这么多事,在代码所在的目录下就可以执行,然后跳出一层,用绝对路径就不能调用,应该是代码中用到了相对路径,但是你当前的相对路径并不在文件所在目录,所以并不能成功调用,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 306,756
精华内容 122,702
关键字:

linux看机器代码

linux 订阅