質問

私は繁殖し、IAN Buclawの(IBUClaw)GDBブランチを設置しました Ubuntu 13.10 x86_64そのデフォルトのコンパイラGCC 4.8.1。

私はその他のldサブディレクトリからファイルbinを削除しなければなりませんでした DMDは、リンクフェーズでのSysrootのものについて文句を言っています。

私がテストプログラムをコンパイルしてGDBを通して実行したとき 問題。

break main、RunとGDBはmainの始めに停止しますが、nextを実行すると、次の望ましくない出力

が得られます。
  Single stepping until exit from function main,
  which has no line number information.
  0x00007ffff760ede5 in __libc_start_main () from 
  /lib/x86_64-linux-gnu/libc.so.6
.

IbuclawのGDBはここで働くことになっていませんか?

マイテストプログラムは

としてコンパイルされました
dmd -debug -g -gs -wi t_array.d -oft_array
.

警告もエラーなしではありません。 のふりをしようとしました

dmd -debug -g -gc -gs -wi t_array.d -oft_array
.

同じ結果を持つ。

bとそれに続くタブの後に、ほとんどのシンボルのほとんど 完了リストは廃棄されません。

マイテストプログラムは

のように見えます
import std.stdio, std.algorithm;

void main(string args[]) {
    int[] x;
    writeln(x.sizeof);

    if (x) {
        writeln("Here!");
    } else {
        writeln("There!");
    }

    int xx[2];
    auto xc = xx;
    xc[0] = 1;
    writeln(xx);
    writeln(xc);
    int[2] xx_;


    auto hit = x.find(1);
    if (hit) {
        writeln("Hit: ", hit);
    } else {
        writeln("No hit");
    }
    int[2] z;                   // arrays are zero initialized
    writeln(z);

    assert([].ptr == null);
    assert("ab"[$..$] == []);
    auto p = "ab"[$..$].ptr;
    writeln(p);
    assert(p != null);
}
.

役に立ちましたか?

解決

MonoDevelopとGDBデバッガ(DのためのGDBデバッガではない)では、Break Mainの代わりにstartコマンドを使用する必要があります。あなたのDlangsフォーラムスレッドの詳細: http://forum.dlang.org/thread/avbpulzptddlekkckczwse@forum.dlang.org.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top