0
セグメンテーションフォルトが発生しています。私はvarargs関数を呼び出そうとしていません。デバッガ(Nemiver/GDBとEDBの両方)では、faulty命令はスタックにあるmovaps xmmword ptr [rbp-288], xmm7
とrbp == 0x00007ffd0e16ba78
です。 xmm7
は0
です(問題がある場合)。不思議なSegfault
命令は.text:00401d10
、buffer_appendf
の機能にあります。
これはおそらく、あなたがスタックアラインメントを乱したことを意味します。 'movaps'はオペランドの16バイト境界整列を必要とし、ほとんどの呼び出し規則はそれを保証します。 – Jester
スタックのサイズが小さくなったので、スタックが8ビット境界になっていることを保証することができると仮定して、16バイトのアライメントを保証するために、 'とrsp 0xff ... f0'を使用できますか? –
はい、根本的な原因は、あなたが実際にどこかでアライメントを実際に乱してしまったことです。確かに、あなたは欠陥の位置合わせを修正することができますが、それは間違った解決策です。原因は 'parallisp_main'だと思われます。 – Jester