Google グループは Usenet の新規の投稿と購読のサポートを終了しました。過去のコンテンツは引き続き閲覧できます。
表示しない

ヒープの一貫性チェック

閲覧: 2 回
最初の未読メッセージにスキップ

YOS.I

未読、
2003/06/27 19:58:002003/06/27
To:
YOS.I と申します。

MS VC++ では、WinNTのみ互換の下記ライブラリがあります。
---
『MSDNライブラリ Visual Studio 6.0』 より

int _heapwalk( _HEAPINFO *entryinfo );
ヒープ内を移動し、次のエントリに関する情報を返します。

int _heapchk( void );
ヒープの一貫性をチェックします。
---

UNIX C でこの様なライブラリはあるのでしょうか?
よろしくお願い致します。

=============================
YOS.I
E-Mail : qwq1...@nifty.ne.jp
=============================

Shinji KONO

未読、
2003/06/27 23:05:102003/06/27
To:
河野真治 @ 琉球大学情報工学です。

In article <bdilr8$ged$1...@news511.nifty.com>, "YOS.I" <qwq1...@nifty.ne.jp> writes
> ヒープの一貫性をチェックします。
> UNIX C でこの様なライブラリはあるのでしょうか?

man malloc でデバッグオプションを使うのが良いと思います。

---
Shinji KONO @ Information Engineering, University of the Ryukyus,
PRESTO, Japan Science and Technology Corporation
河野真治 @ 琉球大学工学部情報工学科,
科学技術振興事業団さきがけ研究21(機能と構成)

YOS.I

未読、
2003/07/02 9:08:032003/07/02
To:
"Shinji KONO" <ko...@ie.u-ryukyu.ac.jp> wrote in message
news:3988509...@insigna.ie.u-ryukyu.ac.jp...

> > ヒープの一貫性をチェックします。
> > UNIX C でこの様なライブラリはあるのでしょうか?
>
> man malloc でデバッグオプションを使うのが良いと思います。

DIAGNOSTICオプションでコンパイルすると、OSが事後診断を行なう
というものでしょうか?

=============================
YOS.I
E-Mail : qwq1...@nifty.ne.jp
=============================

"Shinji KONO" <ko...@ie.u-ryukyu.ac.jp> wrote in message
news:3988509...@insigna.ie.u-ryukyu.ac.jp...

Shinji KONO

未読、
2003/07/03 6:18:322003/07/03
To:
河野真治 @ 琉球大学情報工学です。

In article <bdull4$2vf$1...@news511.nifty.com>, "YOS.I" <qwq1...@nifty.ne.jp> writes


> > man malloc でデバッグオプションを使うのが良いと思います。
> DIAGNOSTICオプションでコンパイルすると、OSが事後診断を行なう
> というものでしょうか?

いや、たぶん、man malloc で出ると思うんだけど、環境変数を
設定すると malloc/free 時のチェックが行われます。結構、
有効です。

あと、debug 専用のmalloc libraryがあったような気もする。

最近だと、Safe C とかの専用の言語系もありますね。そっちの
方が良いかも。

Takashi SAKAMOTO

未読、
2003/07/03 19:55:032003/07/03
To:
阪本@nifty です。

"Shinji KONO" <ko...@ie.u-ryukyu.ac.jp> wrote in message

news:3988520...@insigna.ie.u-ryukyu.ac.jp...

> いや、たぶん、man malloc で出ると思うんだけど、環境変数を
> 設定すると malloc/free 時のチェックが行われます。結構、
> 有効です。

あと、/etc/malloc.conf に書いておくという方法もあるみたいで
すね。
# 何をどう書くかは man malloc で出てました。malloc.3 かな。

> あと、debug 専用のmalloc libraryがあったような気もする。

FreeBSD ではなく Linux なら gnu の malloc を使っているので
mcheck でヒープの一貫性チェックができるのですよね…。
--
---
Takashi SAKAMOTO (PXG0...@nifty.ne.jp)

YOS.I

未読、
2003/07/05 10:18:212003/07/05
To:
YOS.I です。

> いや、たぶん、man malloc で出ると思うんだけど、環境変数を

jman malloc で MALLOC(9) を見てました、man malloc ですね。^^;
MALLOC(3) TUNING の章で確認しました。
# 今までmanにカテゴリがあるのを知りませんでしたので...
色々試してみたいと思います。ありがとうございました。

YOS.I

未読、
2003/07/05 10:35:032003/07/05
To:
YOS.I です。

"Takashi SAKAMOTO" <PXG0...@nifty.ne.jp> wrote in message
news:be2fp0$s9t$1...@news522.nifty.com...


> FreeBSD ではなく Linux なら gnu の malloc を使っているので
> mcheck でヒープの一貫性チェックができるのですよね…。

FreeBSDもgnuのCコンパイラが使えると聞きます。
gnu C でコンパイルしたアプリケーションではmcheckというものを
使えないのでしょうか?

# MALLOC(9)を見て、何だか普通の引数じゃないなー
# と思ってはいましたが... UNIXだから...という流れで...
# ...なわけないですね(笑)

=============================
岩越 義正(Iwakoshi Yoshimasa)
E-Mail : qwq1...@nifty.ne.jp
=============================

IIJIMA Hiromitsu

未読、
2003/07/06 0:06:192003/07/06
To:
いいじまです。

> > FreeBSD ではなく Linux なら gnu の malloc を使っているので
> > mcheck でヒープの一貫性チェックができるのですよね…。
>
> FreeBSDもgnuのCコンパイラが使えると聞きます。
> gnu C でコンパイルしたアプリケーションではmcheckというものを
> 使えないのでしょうか?

コンパイラではなく、ライブラリのほうの問題です。

Linux では今は C 言語用の基本ライブラリ(libc)は GNU が開発したものを使
っていますが、FreeBSD では、コンパイラこそ gcc を使っているものの、libc
は独自開発のもの(正確にいうと、旧来から *BSD で使われてきたもの)です。

このへんの事情は Solaris でも同様で、Solaris では標準では C コンパイラが
付属せず、ユーザーが何か選んで別途インストールするようになっていますけれ
ども、付属 CD に入っている(すいません、このへん記憶が曖昧です)gcc を使
っても、Sun が別途有償で提供するコンパイラを使っても、libc だけは必ず Sun
が提供したものを使います。

========================================================================
飯嶋 浩光 / でるもんた・いいじま http://www.ht.sakura.ne.jp/~delmonta/
IIJIMA Hiromitsu, aka Delmonta mailto:delm...@ht.sakura.ne.jp

新着メール 0 件