Index: /trunk/ab5.0/abdev/BasicCompiler_Common/VarList.cpp
===================================================================
--- /trunk/ab5.0/abdev/BasicCompiler_Common/VarList.cpp	(revision 676)
+++ /trunk/ab5.0/abdev/BasicCompiler_Common/VarList.cpp	(revision 677)
@@ -425,5 +425,6 @@
 		else{
 			offset=pobj_dti->lplpSpBase[i2]+pVar->GetOffsetAddress();
-			if(pVar->IsRef()){
+			if( pVar->IsRef() || pVar->IsByValStructParameter() )
+			{
 				ReadProcessMemory(hDebugProcess,(void *)offset,&lpData,sizeof(LONG_PTR),&accessBytes);
 				offset=lpData;
Index: /trunk/ab5.0/abdev/BasicCompiler_Common/src/LexicalScope.cpp
===================================================================
--- /trunk/ab5.0/abdev/BasicCompiler_Common/src/LexicalScope.cpp	(revision 676)
+++ /trunk/ab5.0/abdev/BasicCompiler_Common/src/LexicalScope.cpp	(revision 677)
@@ -120,5 +120,5 @@
 		if( pVar->GetScopeLevel() != GetNowLevel() ) continue;
 
-		if( pVar->GetType().IsStruct() && pVar->IsParameter() ){
+		if( pVar->IsByValStructParameter() ){
 			//構造体パラメータを持つとき
 
Index: /trunk/ab5.0/abdev/ab_common/include/Lexical/Variable.h
===================================================================
--- /trunk/ab5.0/abdev/ab_common/include/Lexical/Variable.h	(revision 676)
+++ /trunk/ab5.0/abdev/ab_common/include/Lexical/Variable.h	(revision 677)
@@ -99,8 +99,8 @@
 	}
 
-	void ThisIsParameter(){
+	void ThisIsByValStructParameter(){
 		isParameter = true;
 	}
-	bool IsParameter() const
+	bool IsByValStructParameter() const
 	{
 		return isParameter;
Index: /trunk/ab5.0/abdev/compiler_x64/Compile_ProcOp.cpp
===================================================================
--- /trunk/ab5.0/abdev/compiler_x64/Compile_ProcOp.cpp	(revision 676)
+++ /trunk/ab5.0/abdev/compiler_x64/Compile_ProcOp.cpp	(revision 677)
@@ -299,5 +299,5 @@
 		if( param.IsRef() == false && param.IsStruct() ){
 			//構造体のByValパラメータ
-			pVar->ThisIsParameter();
+			pVar->ThisIsByValStructParameter();
 			varSize=PTR_SIZE;
 		}
Index: /trunk/ab5.0/abdev/compiler_x64/Compile_Var.cpp
===================================================================
--- /trunk/ab5.0/abdev/compiler_x64/Compile_Var.cpp	(revision 676)
+++ /trunk/ab5.0/abdev/compiler_x64/Compile_Var.cpp	(revision 677)
@@ -434,5 +434,6 @@
 			pRelativeVar->offset=-pVar->GetOffsetAddress();
 			pRelativeVar->bOffsetOffset=0;
-			if( pVar->IsRef() ){
+			if( pVar->IsRef() || pVar->IsByValStructParameter() )
+			{
 				// 参照型
 				pRelativeVar->dwKind = VAR_REFLOCAL;
Index: /trunk/ab5.0/abdev/compiler_x86/Compile_ProcOp.cpp
===================================================================
--- /trunk/ab5.0/abdev/compiler_x86/Compile_ProcOp.cpp	(revision 676)
+++ /trunk/ab5.0/abdev/compiler_x86/Compile_ProcOp.cpp	(revision 677)
@@ -347,5 +347,5 @@
 		if( param.IsRef() == false && param.IsStruct() ){
 			//構造体のByValパラメータ
-			pVar->ThisIsParameter();
+			pVar->ThisIsByValStructParameter();
 			varSize=PTR_SIZE;
 		}
Index: /trunk/ab5.0/abdev/compiler_x86/Compile_Var.cpp
===================================================================
--- /trunk/ab5.0/abdev/compiler_x86/Compile_Var.cpp	(revision 676)
+++ /trunk/ab5.0/abdev/compiler_x86/Compile_Var.cpp	(revision 677)
@@ -409,5 +409,5 @@
 			pRelativeVar->offset=-pVar->GetOffsetAddress();
 			pRelativeVar->bOffsetOffset=0;
-			if( pVar->IsRef() ){
+			if( pVar->IsRef() || pVar->IsByValStructParameter() ){
 				// 参照型
 				pRelativeVar->dwKind = VAR_REFLOCAL;
