, 나는 이러한 기능DBX 코어 덤프
void foo(int a, int b, int c);
void bar(int d);
void start();
이 내가 그래서 줄라고 시작이
foo(<value of a>, <value of b>, <value of c>, <three garbage values>)
bar(<value of d>, <five garbage values>)
start(<six garbage values>)
.... [other functions]
같이 보입니다 코어 덤프를 얻을 가정 그것은 foo를 불렀고 우리는 foo에 추락했습니다. 질문은 스택의 값들이 각 함수가 호출 될 때 % o1, .., % o5 레지스터의 값을 추적하고 있는지, 아니면 그 시간에 % i0, .., % i5 레지스터의 값을 추적하고 있습니까? (함수가이 입력 레지스터 중 하나를 변경하면 스택 추적의 값이 달라진다는 의미입니다)?
외부 레지스터의 값이라고 생각했기 때문에 고객이 최근에 하드웨어를 업그레이드했으며 스택 추적의 인수 중 하나에 결함이있는 코어 덤프가 있습니다. 호출자에 대한 디스 어셈블리는 해당 특정 인수를 설정하는 데 사용 된 레지스터조차도 올바르게 표시됩니다. 일반적인 유형 불일치, 서명/서명되지 않은 항목 등을 확인했습니다.