六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 124|回复: 0

erlang:split_binary(Bin, N)的BUG

[复制链接]

升级  51.33%

37

主题

37

主题

37

主题

秀才

Rank: 2

积分
127
 楼主| 发表于 2013-1-15 02:57:56 | 显示全部楼层 |阅读模式
OS运行平台:
 
root@x61-laptop:~# cat /etc/lsb-releaseDISTRIB_ID=UbuntuDISTRIB_RELEASE=8.10DISTRIB_CODENAME=intrepidDISTRIB_DESCRIPTION="Ubuntu 8.10" 
 
ERLANG版本:
 
root@x61-laptop:~# cat /usr/lib/erlang/releases/RELEASES[{release,"OTP  APN 181 01","R12B","5.6.3",          [{kernel,"2.12.3","/usr/lib/erlang/lib/kernel-2.12.3"},           {stdlib,"1.15.3","/usr/lib/erlang/lib/stdlib-1.15.3"},           {sasl,"2.1.5.3","/usr/lib/erlang/lib/sasl-2.1.5.3"}],          permanent}]. 
 
操作过程:


Eshell V5.6.3  (abort with ^G)1> CaptureFile = <<212,195,178,161,2,0,4,0,0,0,0,0,0,0,0,0,96>>.<<212,195,178,161,2,0,4,0,0,0,0,0,0,0,0,0,96>>2> A = split_binary(CaptureFile, 1).{<<"\324">>,<<195,178,161,2,0,4,0,0,0,0,0,0,0,0,0,96>>}3> B = split_binary(CaptureFile, 3).{<<"\324\303\262">>,<<161,2,0,4,0,0,0,0,0,0,0,0,0,96>>}4> C = split_binary(CaptureFile, 4). {<<"\324\303\262\241">>,<<2,0,4,0,0,0,0,0,0,0,0,0,96>>}5> D = split_binary(CaptureFile, 5).{<<212,195,178,161,2>>,<<0,4,0,0,0,0,0,0,0,0,0,96>>}6> E = split_binary(CaptureFile, 6).{<<212,195,178,161,2,0>>,<<4,0,0,0,0,0,0,0,0,0,96>>}7>  
 
这说明split_binary(Bin, N)函数的N如果小于5,则会出错误。
如果Bin超过128M也会出错。
 
 
还有<<"\324\303\262\241">>是怎么产生的?
 
 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表