⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 debugmsgreceiver.h

📁 用bcg库编写的java IDE 源码
💻 H
字号:
#if !defined(AFX_DEBUGMSGRECEIVER_H__FC935343_BE54_4E88_B615_1BD0735CC540__INCLUDED_)
#define AFX_DEBUGMSGRECEIVER_H__FC935343_BE54_4E88_B615_1BD0735CC540__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DebugMsgReceiver.h : header file
//


/////////////////////////////////////////////////////////////////////////////
// CDebugMsgReceiver command target
#include "ptrStack.h"
class CDebugMsgReceiver : public CSocket
{
// Attributes
public:
  struct packetheader
  {
	 int    length;
	 int    id;
	 BYTE   flags;
	 BYTE   commandset;
	 BYTE   command;

	 packetheader(int l,int i,BYTE f,BYTE cs,BYTE c)
	 {
	   length =l,id=i,flags=f,commandset=cs,command=c;
	   length = htonl(length);
	   id     = htonl(id);
	 }

	 void create(BYTE* pBuff)
	 {
       long nCurIndex = 0;
	   memcpy(pBuff,&length,sizeof(int));
	   nCurIndex += sizeof(int);

	   memcpy(pBuff+nCurIndex,&id,sizeof(int));
	   nCurIndex += sizeof(int);

	   memcpy(pBuff+nCurIndex,&flags,sizeof(BYTE));
       nCurIndex += sizeof(BYTE);

	   memcpy(pBuff+nCurIndex,&commandset,sizeof(BYTE));
	   nCurIndex += sizeof(BYTE);

	   memcpy(pBuff+nCurIndex,&command,sizeof(BYTE));
	   nCurIndex += sizeof(BYTE);
	 }
  };

  struct EventRequestPacket
  {
    BYTE eventKind;
	BYTE suspendPolicy;
	int  modifiers;

	EventRequestPacket(BYTE e,BYTE s,int m)
	{
      eventKind = e;suspendPolicy =s;
	  modifiers = htonl(m);
	}

	void create(BYTE* pBuf)
	{
      memcpy(pBuf,&eventKind,sizeof(BYTE));
	  memcpy(pBuf+sizeof(BYTE),&suspendPolicy,sizeof(BYTE));
	  memcpy(pBuf+(sizeof(BYTE)*2),&modifiers,sizeof(int));
	}

	union
	{
      struct m_1
	  {
		int  count;
	  }_1;

	  struct
	  {
        int exprID;
	  }_2;
	  struct
	  {
        long thread;
	  }_3;
	  struct
	  {
        long clazz;
	  }_4;
	  struct
	  {
        char* classPattern;
	  }_5;
	  struct
	  {
		char* classPattern;
	  }_6;

	  struct
	  {
        int  loc;
	  }_7;
	  struct
	  {
        long exceptionOrNull;
		bool caught;
		bool uncaught;
	  }_8;
	  struct
	  {
        long declaring;
		long fieldID;
	  }_9;
	  struct
	  {
        long thread;
		int  size;
		int  depth;
	  }_10;
	  struct
	  {
        long instance;
	  }_11;
	}modKind;
  };

// Operations
public:
	CDebugMsgReceiver();
	virtual ~CDebugMsgReceiver();

   CString m_strCurDataQueue;
// Overrides
public:
	void ProcessPacket();
	void RunToCursor();
	void SetBreakPoint();
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CDebugMsgReceiver)
	public:
	virtual void OnReceive(int nErrorCode);
	virtual void OnAccept(int nErrorCode);
	//}}AFX_VIRTUAL

	// Generated message map functions
	//{{AFX_MSG(CDebugMsgReceiver)
		// NOTE - the ClassWizard will add and remove member functions here.
	//}}AFX_MSG

// Implementation
protected:
    int m_nAmountRead;
	BYTE *m_pPacket;
	BOOL m_bLengthRead;
	int m_nMsgLength;
	BOOL m_bHandShaken;

	char m_cHandShake[14];
	genStack<int> m_stIDs;

	int m_iIDSizes[5];
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_DEBUGMSGRECEIVER_H__FC935343_BE54_4E88_B615_1BD0735CC540__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -