c++ builder XE4, 10.2 Tokyo > case 문 마지막 break에서는 브레이크 할 수 없다
4071 단어 #migratedIDE트랩버그cppBuilder
C++ Builder XE4
RAD Studio 10.2 Tokyo Update 2 (追記: 2017/12/28)
Win 소프트를 실장하고 있어 깨달은 점.
case 문 마지막 break에서 breakpoint를 설정해도 무효가 된다.
Unit1.cpp
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
static int swithBreakTest(int idx)
{
switch(idx) {
case 0:
OutputDebugString(L"0");
break;
case 1:
OutputDebugString(L"1");
break;
case 2:
OutputDebugString(L"2");
break;
}
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
swithBreakTest(/*idx=*/0);
swithBreakTest(/*idx=*/1);
swithBreakTest(/*idx=*/2);
}
//---------------------------------------------------------------------------
다음 이미지에서 녹색 중단 점은 유효하지 않습니다.
실제로 실행했는데, 녹색 부분에서는 멈추지 않았다.
MSP430 등에서는
_bis_SR_register(LPM3_bits + GIE);
의 다음의 행이 브레이크 포인트를 취할 수 없었다 ( 코멘트 ).컴파일러의 최적화가 관련되어 있었다고 가르쳐 주신 적이 있지만, XE4에서도 같은 일이 일어나고 있는 것일까.
Reference
이 문제에 관하여(c++ builder XE4, 10.2 Tokyo > case 문 마지막 break에서는 브레이크 할 수 없다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/7of9/items/f4d47c4085f72c727f56텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)