You've already forked qlg.tsgz.moe
							
							
		
			
				
	
	
		
			66 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
| <?php
 | |
| 
 | |
| class DebugServer
 | |
| {
 | |
|     protected $alloc_point = array();
 | |
|     protected $free_point = array();
 | |
|     protected $index = 0;
 | |
| 
 | |
|     function package_decode($pkg)
 | |
|     {
 | |
|         list($tag, $_vars) = explode(':', $pkg, 2);
 | |
|         $tag = trim($tag);
 | |
|         $vars = explode(',', trim($_vars));
 | |
|         $data = array();
 | |
|         foreach($vars as $str)
 | |
|         {
 | |
|             list($k, $v) = explode('=', trim($str));
 | |
|             $data[$k] = $v;
 | |
|         }
 | |
| 
 | |
|         if ($tag == 'alloc')
 | |
|         {
 | |
|             file_put_contents(__DIR__.'/alloc.log', $data['ptr']."\n", FILE_APPEND);
 | |
|         }
 | |
|         elseif($tag =='memory')
 | |
|         {
 | |
|             var_dump($tag, $data);
 | |
|         }
 | |
|         elseif ($tag == 'free')
 | |
|         {
 | |
|             file_put_contents(__DIR__.'/free.log', $data['ptr']."\n", FILE_APPEND);
 | |
|         }
 | |
|         elseif($tag == 'invalid')
 | |
|         {
 | |
|             foreach($this->alloc_point as $k => $v)
 | |
|             {
 | |
|                 echo "$k => $v\n";
 | |
|             }
 | |
|         }
 | |
|         else
 | |
|         {
 | |
|             //var_dump($tag, $data);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     function run()
 | |
|     {
 | |
|         unlink(__DIR__.'/alloc.log');
 | |
|         unlink(__DIR__.'/free.log');
 | |
|         $socket = stream_socket_server("udp://127.0.0.1:9999", $errno, $errstr, STREAM_SERVER_BIND);
 | |
|         if (!$socket)
 | |
|         {
 | |
|             die("$errstr ($errno)");
 | |
|         }
 | |
|         while(1)
 | |
|         {
 | |
|             $pkt = stream_socket_recvfrom($socket, 65535, 0, $peer);
 | |
|             $this->package_decode($pkt);
 | |
|             //echo "$peer: $pkt\n";
 | |
|             //stream_socket_sendto($socket, date("D M j H:i:s Y\r\n"), 0, $peer);
 | |
|         }
 | |
|     }
 | |
| }
 | |
| 
 | |
| $svr = new DebugServer;
 | |
| $svr->run(); |