0
私のプログラムは、freebsd clangでビルドされています。しかし、機能の下ではプログラムがクラッシュします。お願い助けて。停止理由=シグナルSIGILL:特権命令
Program block;
bool CHARACTER::DragonSoul_ActivateDeck(int deck_idx)
{
if (deck_idx < DRAGON_SOUL_DECK_0 || deck_idx >= DRAGON_SOUL_DECK_MAX_NUM)
{
return false;
}
if (DragonSoul_GetActiveDeck() == deck_idx)
return true;
DragonSoul_DeactivateAll();
if (!DragonSoul_IsQualified())
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¿ëÈ¥¼® »óÀÚ°¡ È°¼ºÈµÇÁö ¾Ê¾Ò½À´Ï´Ù."));
return false;
}
AddAffect(AFFECT_DRAGON_SOUL_DECK_0 + deck_idx, APPLY_NONE, 0, 0, INFINITE_AFFECT_DURATION, 0, false);
m_pointsInstant.iDragonSoulActiveDeck = deck_idx;
for (int i = DRAGON_SOUL_EQUIP_SLOT_START + DS_SLOT_MAX * deck_idx;
i < DRAGON_SOUL_EQUIP_SLOT_START + DS_SLOT_MAX * (deck_idx + 1); i++)
{
LPITEM pItem = GetInventoryItem(i);
if (NULL != pItem)
DSManager::instance().ActivateDragonSoul(pItem);
}
}
lldb debug;
* thread #1: tid = 100852, 0x081086b4 game`CHARACTER::DragonSoul_ActivateDeck(this=0x31bbd000, deck_idx=0) + 388 at char_dragonsoul.cpp:90, stop reason = signal SIGILL: privileged instruction
frame #0: 0x081086b4 game`CHARACTER::DragonSoul_ActivateDeck(this=0x31bbd000, deck_idx=0) + 388 at char_dragonsoul.cpp:90
87 LPITEM pItem = GetInventoryItem(i);
88 if (NULL != pItem)
89 DSManager::instance().ActivateDragonSoul(pItem);
-> 90 }
91 }
92
93 void CHARACTER::DragonSoul_DeactivateAll()
返信用Thx。マシンcPU i386 clangビルド設定の一般的なCPU。これは問題でしょうか? –
また、上記のデバッガのコードを外してください。私はlldbデバッガを使用します。 –
コマンドは、デバッガ自体の名前を除いてlldbと同じにする必要があります。 –