2017-01-31

GDBがC++コード注入をサポート

C++ Support Added To GCC's libcc1, Benefiting GDB - Phoronix

C++ support in libcc1: A comprehensive update – RHD Blog

最新のGCC 7では、GDBがC++のコード注入をサポートするようになった。

GDBは、デバッグ中のプログラムにC言語のコードをその場でコンパイルしてコード注入して実行する機能を持っている。これにC++が対応した。

この機能はlibcc1.soを通じてGDBとGCCが強調動作することによって実現されている機能だ。

CとC++は似ている言語ではあるが、名前空間など名前検索のルールが異なるので、シンボル名を探すにもGDBにC++の名前検索を実装しなければならない。また、テンプレートにも特別な対応が必要だ。

ドワンゴ広告

ドワンゴは本物のC++プログラマーを募集しています。

採用情報|株式会社ドワンゴ

CC BY-ND 4.0: Creative Commons — Attribution-NoDerivatives 4.0 International — CC BY-ND 4.0

1 comment:

  1. 割とどうでもいいことなのですが、
    template<int... N> func(int... arge){}
    みたいなことってできないんですかねぇ。
    可変長テンプレートの単型版です。
    書くところなかったのでここに書いてみます。

    ReplyDelete

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.