[ns] Fwd: Problem with trace-all in NS2
Waleed Tuffaha
tuffaha at gmail.com
Sun Nov 16 12:20:39 PST 2008
Hello kanupriya,
you have an error in proc finish {} , you didn't do 'global tracefile1' , so
the following adjustments to the finish proc should make it work:
proc finish {} {
global ns nf *tracefile1*
$ns flush-trace
#Close the trace file
close $tracefile1
close $nf
#Execute nam on the trace file
exec nam out.nam &
exit 0
}
On Sun, Nov 16, 2008 at 4:15 AM, kanupriya kabra <kanu449 at gmail.com> wrote:
>
> hi
>
> I am not able to collect the traces using trace-all command in NS2 (on
> windows):
>
> Here is a snapshot of my file
>
> #Create a simulator object
> set ns [new Simulator]
>
> #Open the Trace file
> set tracefile1 [open out.tr w]
> $ns trace-all $tracefile1
>
> #Open the nam trace file
> set nf [open out.nam w]
> $ns namtrace-all $nf
>
> proc finish {} {
> global ns nf
> $ns flush-trace
> #Close the trace file
> close $tracefile1
> close $nf
> #Execute nam on the trace file
> exec nam out.nam &
> exit 0
> }
>
> ----rest of file
>
> But there is an error when I run this
>
> $ ns example4a.tcl
> ns: finish: can't read "tracefile1": no such variable
> while executing
> "close $tracefile1"
> (procedure "finish" line 5)
> invoked from within
> "finish"
>
> I would really appreciate if anyone could help me out with this error?
> I am able to open the nam file using the open command but I am not able to
> find out why tracefile1 is not getting created.
>
> Regards
> Kanu
>
--
Waleed Tuffaha.
More information about the Ns-users
mailing list